elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el ttwitter! de elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 [43] 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 ... 61
421  Programación / PHP / [Pregunta]: ¿Opiniones sobre la seguridad de esta función? en: 28 Agosto 2019, 20:30
Buenos días tengo esta función que sirve para validar un archivo (se espera que sean imagenes)
de momento esto es lo que tengo.

Código
  1. function Validate_Photo($photo)
  2. {
  3. $result = false;
  4.  
  5. if($photo['type'] == 'image/gif' || $photo['type'] == 'image/jpg' || $photo['type'] == 'image/jpeg')
  6. {
  7. $verify_img = getimagesize($photo['tmp_name']);
  8.  
  9. if($verify_img['mime'] == 'image/gif' || $verify_img['mime'] == 'image/jpg' || $verify_img['mime'] == 'image/jpeg')
  10. {
  11. $result = true;
  12. }
  13. }
  14.  
  15. return $result;
  16. }
  17.  

Me interesa saber sus opiniones y críticas sobre el nivel de seguridad que tiene esta función.

Gracias!


Mod: Temas sobre PHP van al subforo de PHP.
422  Programación / Desarrollo Web / [Pregunta]: ¿Los usuarios pueden usar funciones de lado del servidor? en: 27 Agosto 2019, 20:56
Buenos días, tengo entendido que las únicas cosas que pueden modificar los usuarios son esas del lado del cliente. Por el lado del servidor no tienen forma de modificar nada.

Pero tenia esta duda y es que ¿Los usuarios pueden usar funciones php?
Ya se que si pueden usar funciones javascript escribiendo en la consola para desarrolladores (estoy trabajando en limpiar los datos y validarlos) pero en funciones php hay alguna forma de que las usen?

Gracias.
423  Programación / Bases de Datos / Re: [Pregunta]: Detectar acentos en consulta en: 27 Agosto 2019, 05:43
Tienes que volver a re insertar la información en tu base de datos, porque la información que está en tu base de datos está incorrecta.

SON UNOS GENIOS! VOS Y EDEPC MUCHAS GRACIAS A LOS DOS!
424  Programación / Bases de Datos / Re: [Pregunta]: Detectar acentos en consulta en: 27 Agosto 2019, 05:16
No se si haya menus en español, yo tengo mi sublime en inglés. Pero primero abro el archivo con sublime y después voy a File->Reopen With Encoding->Windows 1252. Yo creo que el archivo si está en UTF-8....

Lo del charset, si es muy probable que este afectando tu información. Porque la información viaja codeada en ISO-8859-1 (Mysql no usa Windows 1252??), lo que significa que tu cliente malforma el texto UTF-8.

Para PDO puedes hacer:

Código
  1. $db = new PDO('mysql:host=localhost;dbname=basededatos;charset=utf8', 'usuario', 'contraseña');

Y yo probaría de nuevo con el query para estar seguro.



Hice eso pero el resultado ahora aparece así en la pantalla, lo imprime así:

Míguel Cañellas
de igual forma sigue sin funcionar ahora aunque escriba "mí" no lo encuentra

EDIT: el charset igualmente ahora si sale en utf8
425  Programación / Bases de Datos / Re: [Pregunta]: Detectar acentos en consulta en: 27 Agosto 2019, 04:58
Nosotros solo vamos a poder ver UTF-8 porque es el encoding que usa el foro. Tendrías que subir el archivo a algún lado o nos puedes dar el dump en hexadecimal (pero no lo hagas). Como dije, la forma más simple de revisar si el archivo está en Windows 1252, es simplemente usar un editor que te permita abrir el archivo usando otros encodings.

Sublime es gratis, tiene está función y es super sencillo de usar. Notepad++ también tiene una función similar.

O podrías darnos el hexadecimal de los caracteres relevantes. Tampoco es difícil.

Si tuviera que adivinar tienes:

Código:
0x4d 0xc3 0x83 0xc2 0xad 0x67 0x75 0x65 0x6c

Para el string de: Míguel

Si yo uso sublime sería cosa de pegar el dump en sublime text y en que parte esta esa funcionalidad de la que hablas?
y sobre lo del charset que me devolvió "latin_1" esto podría ser lo que me de el fallo de no reconocer acentos?
426  Programación / Bases de Datos / Re: [Pregunta]: Detectar acentos en consulta en: 27 Agosto 2019, 04:35
Ya pude!

Código
  1. -- MySQL dump 10.16  Distrib 10.1.37-MariaDB, for Win32 (AMD64)
  2. --
  3. -- Host: localhost    Database: basedatos
  4. -- ------------------------------------------------------
  5. -- Server version 10.1.37-MariaDB
  6.  
  7. /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
  8. /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
  9. /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
  10. /*!40101 SET NAMES utf8 */;
  11. /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
  12. /*!40103 SET TIME_ZONE='+00:00' */;
  13. /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
  14. /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
  15. /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
  16. /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
  17.  
  18. --
  19. -- Table structure for table `usuarios`
  20. --
  21.  
  22. DROP TABLE IF EXISTS `usuarios`;
  23. /*!40101 SET @saved_cs_client     = @@character_set_client */;
  24. /*!40101 SET character_set_client = utf8 */;
  25. CREATE TABLE `usuarios` (
  26.  `id_user` int(50) NOT NULL AUTO_INCREMENT,
  27.  `name` varchar(25) COLLATE utf8_spanish_ci DEFAULT NULL,
  28.  `surname` varchar(25) COLLATE utf8_spanish_ci DEFAULT NULL,
  29.  `email` varchar(200) COLLATE utf8_spanish_ci DEFAULT NULL,
  30.  `password` varchar(200) COLLATE utf8_spanish_ci DEFAULT NULL,
  31.  `year_birth` int(2) DEFAULT NULL,
  32.  `month_birth` int(2) DEFAULT NULL,
  33.  `day_birth` int(2) DEFAULT NULL,
  34.  `sex` int(2) DEFAULT NULL,
  35.  `avatar` varchar(200) COLLATE utf8_spanish_ci DEFAULT NULL,
  36.  PRIMARY KEY (`id_user`)
  37. ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;
  38. /*!40101 SET character_set_client = @saved_cs_client */;
  39.  
  40. --
  41. -- Dumping data for table `usuarios`
  42. --
  43.  
  44. LOCK TABLES `usuarios` WRITE;
  45. /*!40000 ALTER TABLE `usuarios` DISABLE KEYS */;
  46. INSERT INTO `usuarios` VALUES (1,'Míguel','Cañellas','canellasmiguel2000@gmail.com','d123c4898730d77d2672621636b8376822bf7cd5df07f4bc1d0d13em7pr2f221e0223kf7dfd9f7d0847149efa5e4afzcd2a54af4uv8b3776e1c4d7f82be09a10d7',2000,6,4,1,'78180511T20198102052.jpeg');
  47. /*!40000 ALTER TABLE `usuarios` ENABLE KEYS */;
  48. UNLOCK TABLES;
  49. /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
  50.  
  51. /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
  52. /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
  53. /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
  54. /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
  55. /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
  56. /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
  57. /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
  58.  
  59. -- Dump completed on 2019-08-26 23:27:55
  60.  

pasarón 86 años pero ya pude! jaja

el charset me devolvio esto
Código
  1. array(1) { [0]=> array(2) { ["@@character_set_client"]=> string(6) "latin1" [0]=> string(6) "latin1" } }
  2.  
427  Programación / Bases de Datos / Re: [Pregunta]: Detectar acentos en consulta en: 27 Agosto 2019, 03:18
- Me he descargado una versión viejita de MySQL 5.6.35, y todo funciona correctamente también, jeje no logro replicar tu problema XD.

- Por cierto, el dump lo hago ejecutando:


Woao te agradezco mucho el gesto!  :rolleyes:

eso donde lo ejecuto en la consola de phpmyadmin?

EDIT: me di cuenta que eso lo ejecutas en una consola jeje, cual es mysql.exe?
428  Programación / Bases de Datos / Re: [Pregunta]: Detectar acentos en consulta en: 27 Agosto 2019, 02:34
¿Algo así?
Ya se  ya se, soy un desastre...

Código
  1. function Conexion($user, $pass)
  2. {
  3. try
  4. {
  5. $con = new PDO('mysql:host=localhost;dbname=datos', $user, $pass);
  6. echo $con->query('SELECT @@character_set_client');
  7. return $con;
  8. }
  9. catch(PDOException $e)
  10. {
  11. return $e->getMessage();
  12. }
  13. }
429  Programación / Bases de Datos / Re: [Pregunta]: Detectar acentos en consulta en: 27 Agosto 2019, 02:04
Sería algo así, si ya se soy algo duro para entender  :xD

Código
  1. function Conexion($user, $pass)
  2. {
  3. try
  4. {
  5. $con = new PDO('mysql:host=localhost;dbname=basedatos', $user, $pass);
  6. $con->character_set_name();
  7. return $con;
  8. }
  9. catch(PDOException $e)
  10. {
  11. return $e->getMessage();
  12. }
  13. }
  14.  

Porque la manera en la que lo puse da errores, también probé tal y como me lo pasaste mysql_chararacter_set_name($mysql);
pero da el error de que la función no existe (la variable $mysql la adapte por supuesto)

EDIT: recien me di cuenta que que era mysqli_ y no mysql_ viendo el manual de php me di cuenta nose como no pude ver la i en la función que mandaste, igual ahora me da un warning

"mysqli_character_set_name expects parameter 1 to be mysqli, object given in on line 1301"

Código
  1.        function Buscar_Usuarios_Ajax($search)
  2. {
  3. $con = Conexion("root", "");
  4. $consulta = $con->prepare("SELECT id_user, name, surname, avatar FROM usuarios WHERE CONCAT(name, ' ', surname) LIKE '%".($search)."%' ORDER BY CONCAT(name, ' ', surname) ASC LIMIT 6");
  5. $consulta->execute();
  6. $resultados = $consulta->fetchAll();
  7.  
  8. return $resultados;
  9. }
  10.  
430  Programación / Bases de Datos / Re: [Pregunta]: Detectar acentos en consulta en: 27 Agosto 2019, 00:27
No creo que te haya entendido muy bien jeje  ;D pero en base a lo que te pude entender hice esto.

Código
  1.        function Buscar_Usuarios_Ajax($search)
  2. {
  3. $con = Conexion("root", "");
  4. echo $search; // imprimo la busqueda (texto)
  5. $search = utf8_encode($search);
  6. echo $search; // imprimo la busqueda (texto) pero codificada a utf8
  7. $consulta = $con->prepare("SELECT id_user, name, surname, avatar FROM usuarios WHERE CONCAT(name, ' ', surname) LIKE '%".($search)."%' ORDER BY CONCAT(name, ' ', surname) ASC LIMIT 6");
  8. $consulta->execute();
  9. $resultados = $consulta->fetchAll();
  10. echo $resultados[0]['name']; // imprimo el nombre encontrado
  11.  
  12. return $resultados;
  13. }
  14.  

me devuelve si escribo "Míguel"
echo = "Míguel"
echo = "MÃguel"
naturalmente no va encontrar resultados pero digamos si escribo "M" antes de poner una i sin acento ya que en la base de datos existe "Míguel" pero se almacena "MÃguel"

echo "M"
echo "M"
echo "Míguel" // sería el resultado obtenido o que se muestra

de igual forma sigue sin funcionar

y en breve me parece que va a pasar esto:
Páginas: 1 ... 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 [43] 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 ... 61
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines