|
31
|
Programación / PHP / Re: [Ayuda] un "1" añadido al final de un include?
|
en: 7 Agosto 2015, 19:12 pm
|
ese código se ve como la vía ideal de que hackeen tu sistema terriblemente XD te recomiendo pensarte mejor la via de hacer eso XD
no creo que necesites incluir cualquier cosa que venga en un get
Realmente no estoy incluyendo nada que venga en un get, solo estoy "reconociendo" la pagina en la que está, para que quede de la siguiente forma: http://www.venad.cf/index.php?modulo=contacto
|
|
|
33
|
Programación / PHP / [Resuelto] un "1" añadido al final de un include?
|
en: 7 Agosto 2015, 13:58 pm
|
Saludos programadores; Hoy estaba realizando una pequeña prueba con el PHP y la funcion include, pero al inluir un archivo, me sale un 1 al final, existe alguna forma de eliminar eso? <?php $modulos = array("contacto"); if (isset($_GET['modulo'])) { echo($incld); } } ?>
Por ejemplo, si el archivo tengo un texto que dice "Hola", el la web me pone "Hola1" Tendria que usar un strreplace? o como se diga xD
|
|
|
34
|
Programación / Scripting / [LUA]Bug en hackealos.co? Puntajes
|
en: 6 Agosto 2015, 21:36 pm
|
Bueno, explico un poco el problema que me ha planteado.. La cosa es que hay que superar una prueba de programador para poder acceder, pero al colocar la respuesta correcta, me dice que es incorrecta, y no entiendo por qué La pregunta era esta El "puntaje" de una palabra es la suma del puntaje de cada letra. El "puntaje" de una letra es la posición en donde se encuentra en una palabra, multiplicada por su posición en el abecedario. Por ejemplo, el puntaje de "acb" es (1*1) + (2*3) + (3*2). ¿Cuál es la suma de las puntuaciones de las permutaciones de "BtKdbjf"? A lo que al respecto del problema diseñe el siguiente script: local a = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"} local t = {"B","t","K","d","j","f"} suma = 0 ts = "" for k,v in ipairs(t) do for sk,sv in ipairs(a) do if v:lower() == sv then local LC = "" if k == #t then LC = "" else LC = " + " end ts = ts.."("..tostring(k).."*"..tostring(sk)..")"..LC suma = suma + (k*sk) end end end print(tostring(suma)) --Resultado print(tostring(ts)) --Forma de codigo
Y los print son estos: Y la pagina me dice que la solucion es incorrecta? Por qué? 177 (1*2) + (2*20) + (3*11) + (4*4) + (5*10) + (6*6)
|
|
|
35
|
Programación / PHP / Re: [Solucionado] como hago para restringir 10 minutos una pagina?
|
en: 28 Julio 2015, 15:45 pm
|
Un par de cosillas:
No se debe usar la funcion header despues de haber enviado contenido web. La alternativa a eso es usar la funcion header para redirigir con unos segundos de retraso, y luego muestras el contenido web.
Para restringir el acceso puedes hacerlo de varias formas. La mas simple es que si se producen 10 intentos de acceso erroneos se guarden en una base de datos la IP del cliente y la hora en la que se hizo el ultimo login, esa tabla la llamaremos "lista negra".
Cada vez que se intente hacer login buscamos la IP del cliente en la lista negra: Si no se encuentra => dejamos paso libre. Si se encuentra => obtenemos el valor de la ultima hora registrada y: Si difiere en menos de 600segundos (10 minutos) => mostramos pagina de bloqueo. Si no => dejamos paso libre.
Hnm, y que pasa si lo dejo de esta manera? <?php function Redirect($url, $permanent = false) { header('Location: ' . $url, true, $permanent ? 301 : 302); } ?> <html> <head> <title>vDNet ||</title> <style> * {margin-left:1%;font-family:Verdana, Geneva, sans-serif} </style> </head> <body> <?php if (!isset($_SESSION['tryes'])) { $_SESSION['tryes'] = 0; } if (isset($_SESSION['lasttime'])) { if ($_SESSION['lasttime'] - (time() + 60) < 1) { Redirect("https://www.venad.cf/srv/host/index.php"); } } if ($_SESSION['tryes'] >= 3 && isset($_SESSION['lasttime'])) { $minutos = floor(($_SESSION['lasttime'] - (time() + 60))/60); $sec = $_SESSION['lasttime'] - (time() + 60); while ($sec > 60) { $sec = $sec - 60; } if (($minutos + $sec) > 0) { if (isset($_GET['login']) or isset($_GET['logout'])) { Redirect("https://www.venad.cf/srv/host/index.php"); } echo("Has hecho login erroneamente 3 veces seguidas, Debes esperar para poder iniciar sesion de nuevo<br><br>$minutos minutos y $sec segundos"); } else { $_SESSION['tryes'] = 0; } } $checking = array($_POST['u'], $_POST['p']); if (strlen($_POST['u']) > 5) { if (strlen($_POST['p']) > 5) { if ($checking[0] === $_POST['u'] && $checking[1] === $_POST['p']) { $_SESSION['tn6loggeado'] = array(); $_SESSION['tn6loggeado']['usuario'] = $_POST['u']; $_SESSION['tn6loggeado']['password'] = $_POST['p']; $_SESSION['tryes'] = 0; Redirect("https://www.venad.cf/srv/host/index.php"); } else { $_SESSION['lasterror'] = "Estas intentando meter un codigo script? nanai"; $_SESSION['tryes'] = $_SESSION['tryes'] + 1; Redirect("https://www.venad.cf/srv/host/index.php"); } } else { $_SESSION['lasterror'] = "Tu contraseña debe contener 6 o mas caracteres"; $_SESSION['tryes'] = $_SESSION['tryes'] + 1; Redirect("https://www.venad.cf/srv/host/index.php"); } } else { $_SESSION['lasterror'] = "Tu usuario debe contener 6 o mas caracteres"; $_SESSION['tryes'] = $_SESSION['tryes'] + 1; Redirect("https://www.venad.cf/srv/host/index.php"); } } elseif (isset($_GET['login']) && !isset($_POST['u']) && !isset($_POST['p'])) { $_SESSION['lasterror'] = "Error al loggearte, comprueba que estas loggeandote de forma correcta"; $_SESSION['tryes'] = $_SESSION['tryes'] + 1; Redirect("https://www.venad.cf/srv/host/index.php"); } if (isset($_GET['logout']) && !isset($_GET['login']) && isset($_SESSION['tn6loggeado']['usuario']) && isset($_SESSION['tn6loggeado']['password'])) { Redirect("https://www.venad.cf/srv/host/index.php"); } elseif (isset($_GET['login']) or isset($_GET['logout'])) { Redirect("https://www.venad.cf/srv/host/index.php"); } if (!isset($_SESSION['tn6loggeado'])) { echo("<form action=\"index.php?login\" method=\"POST\"> Usuario:<br> <input type=\"text\" name=\"u\"> <br> Contraseña:<br> <input type=\"password\" name=\"p\"> <br><br> <input type=\"submit\" value=\"Login\"><button disabled>Registrarse!</button> </form>"); if (isset($_SESSION['tryes']) && $_SESSION['tryes'] > 0) { $_SESSION['lasttime'] = time() + (60*5); echo ("Error: {$_SESSION['lasterror']}<br>"); echo ("<br> Comprueba tus datos de acceso, intento numero {$_SESSION['tryes']} / 3"); } } elseif (isset($_SESSION['tn6loggeado'])) { echo("Tu usuario es este: {$_SESSION['tn6loggeado']['usuario']} <br><br>"); echo("Tu contraseña es esta: {$_SESSION['tn6loggeado']['password']}<br><br>"); echo("<a href=\"./index.php?logout\"><button>Cerrar sesion</button></a><br><br>"); } ?> </body> </html>
|
|
|
36
|
Programación / PHP / Re: Como puedo colocar un "temporizador" para que ejecute un script?
|
en: 21 Julio 2015, 16:26 pm
|
eso lo colocas en la DB, ya que tienes que colocar una clave al azar (para que no exploten el sistema) colocas la hora de la petición, si se accede al sistema, primero se hará un delete de todo lo que tenga más de 5 minutos desde la hora de solicitud y luego accesas a ver si la peticion de ese usuario existe
Hmm, parece sencillo, algo como usar tendria que usar algo como
Para introducir los 5 primeros minutos, y luego el delete que dices tu, para que, basandose en la hora de la peticion, decida si existe o no
|
|
|
37
|
Programación / PHP / Re: Como puedo colocar un "temporizador" para que ejecute un script?
|
en: 21 Julio 2015, 16:12 pm
|
para que necesitas tal cosa? estoy seguro que puede solucionarse de otra forma
Ando creando un sistema de recuperacion de contraseñas, por mi panel de login. La cosa es que el link de recuperacion solo quiero que funcione por un cierto tiempo, de ahi la necesidad de hacer eso y el host no soporta la funcion
|
|
|
38
|
Programación / PHP / Como puedo colocar un "temporizador" para que ejecute un script?
|
en: 21 Julio 2015, 15:53 pm
|
El tema es, queria que cuando el usuario acccede a una pagina con una cierta query, por ejemplo ?peticion=IJS8ffd87dgsG/8d87fg87fd , ejecute un temporizador de 5 minutos en el que ejecute una funcion, aun sin que el usuario este visitando la pagina, es decir, que solo dependa del script en PHP, como podria hacerlo? (Y no puedo usar CRON, porque seria 5 minutos desde que el usuario visita la pagina)
|
|
|
39
|
Programación / PHP / [Resuelto] como hago para restringir 10 minutos una pagina?
|
en: 20 Julio 2015, 19:39 pm
|
La cuestion es, realicé un sistema simple para que al tener X intentos de login, le bloquee el acceso, o asi lo tenia pensado, la cosa es... Como puedo restringir ese acceso por ejemplo.. 5 minutos?, y que luego en la pagina ponga "Te quedan X minutos de restriccion" ? El codigo que hice hasta ahora sobre esto es el siguiente: <?php function Redirect($url, $permanent = false) { header('Location: ' . $url, true, $permanent ? 301 : 302); } ?> <html> <head> <title>VeNaD PHP Testing</title> <style> * {margin-left:1%;font-family:Verdana, Geneva, sans-serif} </style> </head> <?php if (!isset($_SESSION['tryes'])) { $_SESSION['tryes'] = 0; } if (strlen($_POST['u']) > 5) { if (strlen($_POST['p']) > 5) { $_SESSION['ejemplo'] = array(); $_SESSION['ejemplo']['u'] = $_POST['u']; $_SESSION['ejemplo']['p'] = $_POST['p']; $_SESSION['tryes'] = 0; Redirect("https://www.venad.cf/host/index.php"); } else { echo("Tu contraseña debe contener 6 o mas caracteres"); $_SESSION['tryes'] = $_SESSION['tryes'] + 1; } } else { echo("Tu usuario debe contener 6 o mas caracteres"); $_SESSION['tryes'] = $_SESSION['tryes'] + 1; } } elseif (isset($_GET['login']) && !isset($_POST['u']) && !isset($_POST['p'])) { echo("Error al loggearte, prueba de nuevo<br>"); $_SESSION['tryes'] = $_SESSION['tryes'] + 1; } if (isset($_GET['logout']) && !isset($_GET['login']) && isset($_SESSION['ejemplo']['u']) && isset($_SESSION['ejemplo']['p'])) { Redirect("https://www.venad.cf/host/index.php"); } elseif (isset($_GET['login']) or isset($_GET['logout'])) { Redirect("https://www.venad.cf/host/index.php"); } ?> <body>
<?php if (!isset($_SESSION['tn6loggeado'])) { echo("<form action=\"index.php?login\" method=\"POST\"> Usuario:<br> <input type=\"text\" name=\"u\"> <br> Contraseña:<br> <input type=\"password\" name=\"p\"> <br><br> <input type=\"submit\" value=\"Login\"> </form>"); if (isset($_SESSION['tryes']) && $_SESSION['tryes'] > 0) { echo ("<br> Comprueba tus datos de acceso, intento numero {$_SESSION['tryes']} / 3"); } } elseif (isset($_SESSION['ejemplo'])) { echo("Tu usuario es este: {$_SESSION['tn6loggeado']['usuario']} <br><br>"); echo("Tu contraseña es esta: {$_SESSION['tn6loggeado']['password']}<br><br>"); echo("<a href=\"./index.php?logout\"><button>Cerrar sesion</button></a><br><br>"); } ?>
Está separado porque uno es interno y otro funciona para mostrar al cliente la informacion
|
|
|
|
|
|
|