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

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: 1 ... 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [24] 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ... 65
231  Programación / Desarrollo Web / [Pregunta]: "Reemplazar" ReCaptcha (ultimo tema) en: 24 Diciembre 2019, 23:47 pm
Buenas tardes,

voy a ir directamente a el tema y es que tengo un sistema de comentarios, voy a usar de ejemplo a facebook que tiene las publicaciones una abajo de la otra y en cada publicación se pueden ver los comentarios por lo que si son 5 publicaciones van a haber 5 input's para comentar... No probé todavía pero como aplico con la V2? ¿Es como se hace en los formularios? ¿No va a ir más lento la pagina al cargar, ya que va a tener que cargar más de 1 recaptcha?

Una solución quizá sea usar la V3 (que es posiblemente una solución que tampoco probé)

Pero como quiero tener más opciones decidí preguntarles si para este caso se podría...

Agregar un sistema de que para volver a comentar un nuevo comentario el usuario deba esperar 20 segundos o 15 segundos... también cuento con anti CSRF

Este va a ser posiblemente el ultimo tema que abro de esto, aunque quien sabe...  :xD

¡FELICIDADES!
232  Programación / Desarrollo Web / Re: [Pregunta]: Google recaptcha ¿V2 o V3? en: 23 Diciembre 2019, 23:17 pm
Pero que pasa si a el usuario le da un score bajo... entiendo que al pasar eso no se van a enviar los datos y va a mostrar un error... pero como sigue?... al momento de detectar una puntuación baja va a mostrar también un captcha para completar?... lo pregunto porque vi que esta pagina aveces pide un captcha (V2) y otras no
233  Programación / Desarrollo Web / Re: [Pregunta]: Google recaptcha ¿V2 o V3? en: 23 Diciembre 2019, 02:34 am
¿Se pueden usar las 2? pasa que tengo un sistema hecho con ajax de comentarios y no se si me va a funcionar la v2 entonces usar la v3... igual todavía no probé
234  Programación / Desarrollo Web / [Pregunta]: Google recaptcha ¿V2 o V3? en: 23 Diciembre 2019, 01:40 am
Buenas noches,

actualmente estoy usando la versión 2 de google recaptcha que vendría siendo esa que hay que hacer click en un box y aveces sale una tarea para hacer... pero la v3 supuestamente está invisible y no pasa esto... es con un puntaje... sin necesidad de completar ninguna tarea ya que esto si bien la v2 no me esta dando problemas y esta todo perfecto... si es cierto que es algo tedioso estar completando tareas por más simples que sean..

¿Que me recomiendan?
235  Programación / Desarrollo Web / Re: [Pregunta]: ¿Acarrea alguna vulnerabilidad? en: 20 Diciembre 2019, 01:52 am
Te estás complicando la vida mucho. Y lo que comentas ahora no tiene relación con la pregunta inicial.

Agrega a la tabla los permisos que tiene el usuario. Por ejemplo número del 1 al 5.

1 usuario baneado.
2 visitantes.
3 usuario loggeado común.
4 moderadores, administradores.
5 webmaster (tú).

En base a esto cuando se solicite una acción compruebas si el usuario que la solicita tiene permisos para realizar la acción.

emm nose experimenta lo que te dije y te vas a dar cuenta del hueco de "vulnerabilidad" o bugeaso que puede haber con lo que dije... con lo de los permisos... nose ya que tengo una tabla aparte donde se almacenan todos los usuarios baneados, donde va a guardar razón de baneo, la id del admin que lo bloqueo, la fecha, etcétera... después permiso visitantes? por ahí para lo que estoy trabajando no me sirva de mucho porque no es un blog, después 4. moderadores, adeministradores y 5. webmaster eso lo tengo en la tabla pero se llama rango... donde 1. va a ser ayudante, 2. X, y 3. Z
236  Programación / Desarrollo Web / Re: [Pregunta]: Problemas con saltos de lineas seguidos en un formulario (textarea) en: 20 Diciembre 2019, 01:47 am
Hice así y funciona, ¿qué les parece?

Código
  1.                        $data = htmlspecialchars($data);
  2. $data = trim($data);
  3. $data = preg_replace('/\r/m', '', $data);
  4. $data = preg_replace('/\n{3,}/m', "\n\n", $data);
  5.  
237  Programación / Desarrollo Web / [Pregunta]: Problemas con saltos de lineas seguidos en un formulario (textarea) en: 19 Diciembre 2019, 20:00 pm
Buenos días tengo un formulario muy simple:

Esto viene de un tema pasado para que puedan entender mejor: https://foro.elhacker.net/desarrollo_web/pregunta_iquestcomo_puedo_hacer_que_si_son_4_espacios_seguidos-t501708.0.html

La idea básica es que si son 3 saltos de líneas o más seguidos que están vacíos estos se conviertan en 2, por lo que si me mandan

"T







M"

esto se convierta en

"T


M"

No entiendo porque en el primer código donde lo hago de una forma más "estática" si funciona, pero si ya lo hago con un formulario usando un textarea ya no...

estática
Código
  1. <?php
  2. $string = '• Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod.'."\r\n\n\n\n\n\n\n\n\n".'• Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod.'."\r\n".'• Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod.';
  3. $string = Clearn_Data('textarea', $string);
  4.  
  5. echo nl2br($string);
  6. ?>
  7.  

dinámica
Código
  1. <form method="post">
  2. <textarea name="texto" placeholder="texto"></textarea>
  3. <button type="submit" name="enviar">enviar</button>
  4. </form>
  5.  
  6. if(isset($_POST['enviar']))
  7. {
  8. $texto = Clearn_Data('textarea', $_POST['texto']);
  9.  
  10. echo nl2br($texto);
  11. }
  12.  

La función es:
Código
  1. function Clearn_Data($type, $data)
  2. {
  3.      if($type === 'textarea')
  4. {
  5. $data = htmlspecialchars($data);
  6. $data = trim($data);
  7. $data = preg_replace('/\n{3,}/m', "\n\n", $data);
  8. }
  9.  
  10.     return $data;
  11. }
  12.  
238  Programación / Desarrollo Web / Re: [Pregunta]: ¿Acarrea alguna vulnerabilidad? en: 19 Diciembre 2019, 19:44 pm
Una banda de respuestas  :xD pero no hacia falta todo eso, yo decía si acarreaba una vulnerabilidad no volver a definir x variable en este caso $_GET

Respondiendo: La aplicación web está en desarrollo por eso no tengo una URL que mandarles para que la vean.

A lo que iba era digamos que yo tengo un comentario que quiero editar, yo me ilustro o imagino que hay como "2 procesos" el "protocolo de seguridad entrante" y el "protocolo de seguridad de envío" (esto me lo invente yo  :xD por si les suena raro)

Bueno el protocolo de seguridad entrante se va a encargar de validar si el usuario tiene permisos para ingresar a x pagina.php

Por ejemplo si el usuario tiene la session iniciada, si el usuario no está bloqueado, si el usuario tiene el email verificado, entre tantas otras que pueda tener una aplicación... dependiendo el caso va a redireccionarlo a otras paginas... por ejemplo si no tiene la session iniciada lo manda a el index pero si si tiene la session iniciada pero esta baneado lo mando a ban.php y así hasta completar todos los protocolos.

Después está el protocolo de seguridad de envío que es cuando un usuario envía un formulario... Generalmente van a compartir el mismo protocolo pero con una diferencia y es que el protocolo de envío va a preguntar si la $session_id es igual a $_SESSION['id_user']

hay les explico (me va a salir tremendo texto bíblico pero así se entiende xD)

Ejemplo:

Código
  1. // protocolo de seguridad entrante
  2. [Si hay sessión iniciada]
  3.     -> [Si usuario no esta bloqueado]
  4.           -> [Se mantiene a el usuario en la pagina]
  5.                [Creo una variable $session_id que va a tener el valor de $_SESSION['id_user']
  6.     [Si no: mando -> ban.php]
  7. [Si no: mando-> index.php]
  8.  

Imaginen que una persona tiene abierto una pagina comentar.php que requiere que el usuario tenga una session inciada pero ese mismo usuario abre otra pagina comentar.php, hay ahora 2 pestañas abiertas con el mismo fichero... ahora en la primer pestaña va a cerrar su sesión por lo que lo va mandar a el index pero recordemos que dejó abierta otra donde se ve la pagina como si tuviera la sesión todavía iniciada, gracias a el protocolo de envío lo que va a hacer es que cuando el usuario que tiene una pagina abierta que requiere tener la sessión iniciada pero no la tiene lo que va a hacer es redirigirlo cuando intente usar el formulario...

Ahora gracias a session_id lo que va a hacer es que imaginemos ahora que el usuario tiene 2 cuentas, y abre esas 2 pestañas con el mismo fichero php cierra la sesión en una, pero le quedo la otra abierta y vuelve a ingresar a otra cuenta diferente pero ahora tenemos (1). comentar.php con una cuenta (X) y tenemos comentar.php con una cuenta (Y) ...

el protocolo de envio se va a quedar corto porque si va  a detectar que hay una session abierta, no puede decir si es la misma de antes pero si que hay una... entonces con session id lo que hago es compararlas

$session_id == $_session['id_user'] ?

Lo que trato de mostrar con esto (igual ya deben saber) es que cuando el usuario use el formulario van haber datos que se van a "actualizar" que no van a seguir siendo iguales...

Código
  1. <?php
  2. $comentarios = comentarios::Mostrar_Comentarios(); // Muestra todos los comentarios
  3. $comentarios = count($comentarios); // contamos todos los registros
  4.  
  5. echo $comentarios; // hay 3 comentarios
  6. ?>
  7.  
  8. Ahora imaginemos cuando el usuario manda un formulario
  9.  
  10. <?php
  11. if(isset($_POST['ver_otravez']))
  12. {
  13.     $comentarios = comentarios::Mostrar_Comentarios(); // Muestra todos los comentarios
  14.     $comentarios = count($comentarios); // contamos todos los registros
  15.  
  16.     echo $comentarios; // capaz acá pueda mostrar 4 o 5 o capaz menos comentarios, 2 comentarios... porque desde que yo abro la pagina hasta que yo mando un formulario pueden mostrarse datos diferentes (actualizados)
  17.  
  18.     Si yo acá no volvía a definir la variable $comentarios se iba a quedar con un valor viejo que era el 3
  19. }
  20. ?>
  21.  

A eso iba cuando preguntaba si tenia que volver  a definir variables cuando envío el formulario... por ahí un $_GET no se puede actualizar de otra forma que no sea cambiandolo y recargando la pagina por eso preguntaba...
Yo se que es un poco dificil de entender, más que nada no porque sea dificil sino porque explico para la mrd xD
239  Programación / Desarrollo Web / Re: [Pregunta]: ¿Acarrea alguna vulnerabilidad? en: 19 Diciembre 2019, 15:57 pm
pueden hacerte una inyeccion reflejada, no te afecta a ti, pero si a usuarios incautos...

si el link pasas

url...com/?variable=nuestra+empresa+informa+que+usted+es+estupido

mostrará eso... y mucha gente cae... antes hasta los periodicos salian "defacearon X pagina, violaron a su seguridad y a sus dueños"

Lo que hago para eso (aunque no tenía noción) es validarlo, si en principio yo espero que el dato sea int, string, etc, también si es string que tenga un max de caracteres...

Volviendo a eso, esto de "inyección reflejada" ¿es solamente para decirle a el usuario un "mensaje falso" más allá de que esa variable puede ser usada como parámetro en una función, el único peligro real sería ese... ¿no? más allá de si se creen que los llame estúpidos xD... ¿no existiría una vulnerabilidad y no haría falta definir otra vez la variable como hice antes?
240  Programación / Desarrollo Web / [Pregunta]: ¿Acarrea alguna vulnerabilidad? en: 19 Diciembre 2019, 15:30 pm
Buenos días,

tengo la siguiente duda y es que no se muy bien si hacer esto acarree algún tipo de vulnerabilidad.

Código
  1. <?php
  2. $variable = $_GET['variable'];
  3. ?>
  4.  
  5. <form method="post">
  6. <button type="submit" name="mostrar">enviar</button>
  7. </form>
  8.  
  9. <?php
  10. if(isset($_POST['mostrar']))
  11. {
  12. echo $variable;
  13. }
  14. ?>
  15.  

Hasta acá nada raro pero lo que hago hasta ahora es que por "miedo" a que exista alguna vulnerabilidad en el proceso de abajo vuelvo a definir la variable $variable así.

Código
  1. <?php
  2. $variable = $_GET['variable'];
  3. ?>
  4.  
  5. <form method="post">
  6. <button type="submit" name="mostrar">enviar</button>
  7. </form>
  8.  
  9. <?php
  10. if(isset($_POST['mostrar']))
  11. {
  12.        $variable = $_GET['variable'];
  13. echo $variable;
  14. }
  15. ?>
  16.  


(No traten de buscarle sentido o alguna lógica a el programa es solamente de demostración, por ejemplo un formulario de alguna busqueda que reciba algun dato $_GET y que por esa duda de vulnerabilidad vuelvo a definir cuando el usuario realiza alguna petición)

Tengo noción de que hay que "limpiar" ese dato $_GET antes de pasarlo a una variable tal y como esta, es solo un ejemplo.
Páginas: 1 ... 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [24] 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ... 65
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines