Autor
|
Tema: [Recomendado] Pequeños trucos en PHP / Scripts php-mysql / POO (Leído 108,952 veces)
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
Bueno, os dejo un captcha que cree usando sesiones, en principio iva a usar cookies, pero, me lo repense: captchaverf.php<?php if($_POST['ok']){ if($_POST['captcha'] == $_SESSION['captcha']){ echo "Captcha correcto"; }else{ echo "Captcha incorrecto"; } }else{ echo '<img src="captcha.php"><br> <form action="captchaverf.php" method="POST"> <input type="text" name="captcha"><br><input type="submit" name="ok" value="Verificar"></form>'; } ?>
captcha.php<?php header("Content-type: image/png"); $_SESSION['captcha'] = rand(0001, 9999); imagestring($imagen, 10, 6, 5,$_SESSION['captcha'], $texto); ?>
Prueba: www.krews.es/captchaverf.php
|
|
|
En línea
|
|
|
|
Servia
Desconectado
Mensajes: 346
|
Esta funcióncomo se usaría? <?php function addslashes__recursive($var){ foreach ($var as $k => $v)$new_var[addslashes($k)]=addslashes__recursive ($v); return $new_var; } $_POST=addslashes__recursive($_POST); $_GET=addslashes__recursive($_GET); $_REQUEST=addslashes__recursive($_REQUEST); $_SERVER=addslashes__recursive($_SERVER); $_COOKIE=addslashes__recursive($_COOKIE); ?>
Se pone en cada archivo php y listo? no verdad?
|
|
|
En línea
|
|
|
|
Dacan
|
Es para poner slashes del tipo (\) y se usa: echo addslashes__recursive($tuvariable);
Aunque en ese código ya esta siendo utilizada en todas las superglobales. Saludos, Dacan
|
|
|
En línea
|
|
|
|
HardieVon
Desconectado
Mensajes: 181
Programming HardCore
|
Hola que tal, a mi me fastidia andar capturando captchas y explotando mi server con sesiones. sin mencionar la gestion de cookies como sesiones. Aqui eh hecho una solución aparentemente factible. y digo aparente por que todo es hipotetico aunque supongo que funciona perfecto. AQUI CON ESTA FUNCION. <?php function XSRF($s){ if(($ref['host']==$_SERVER['HTTP_HOST'])&&(basename($ref['path'])==$s)) return true; } /* EJEMPLO */ # El argumento este que se pasa, es script donde se supone viene el vinculo por ejemplo # en un script donde su nombre es admin_posts.php y contine algo como <a href="eliminar.php?cual=estemero">Eliminar</a> #entonces en el script eliminar.php ponemos la siguente estructura if(XSRF("admin_posts.php")){ #ejecuta si es legitimo --> $gestor=fopen('correcto.txt', 'a'); #<-- } ?>
|
|
« Última modificación: 3 Junio 2009, 07:26 am por Seguridad PHP »
|
En línea
|
|
|
|
[u]nsigned
Desconectado
Mensajes: 2.397
JS/Node developer
|
Una pregunta, la lectura/escritura de un archivo en el server, consumemenos recursos que el uso de SESIONES?
Saludos
|
|
|
En línea
|
No hay atajo ante la duda, el misterio se hace aquí... Se hace carne en cada uno, el misterio es existir!
|
|
|
HardieVon
Desconectado
Mensajes: 181
Programming HardCore
|
Una pregunta, la lectura/escritura de un archivo en el server, consumemenos recursos que el uso de SESIONES?
Saludos
man no debes de postear eso aqui, y relativamente es lo mismo, mejor usa cookie es mas lijero que el proceso de sesiones. pero no le veo mucha relacion utilitaria en una sesion y un archivo. podrias tu sustituir el uso de una sesion con el uso de un archivo?? PD: tu firma me da miedo.
|
|
|
En línea
|
|
|
|
дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
Desconectado
Mensajes: 5.110
|
Es para poner slashes del tipo (\) y se usa: echo addslashes__recursive($tuvariable);
Aunque en ese código ya esta siendo utilizada en todas las superglobales. Saludos, Dacan Exactirijillo xD, así es, con eso se cepilla todo lo que entra y sale a través del server/php. Aunque si tienes las magic quotes te va a poner tripe \ xD tons le cambié algo... //----------------------------------------------+ // We claer all traffic of our server | //----------------------------------------------+ // This function I extrac of SMF system fourum, cleared all " and ' in traffic server function addslashes__recursive($var){ foreach ($var as $k => $v)$new_var[addslashes($k)]=addslashes__recursive ($v); return $new_var; } //If the magic quotes are disable, aplicate the function, else, do not nothing $_POST=addslashes__recursive($_POST); $_GET=addslashes__recursive($_GET); $_REQUEST=addslashes__recursive($_REQUEST); $_SERVER=addslashes__recursive($_SERVER); $_COOKIE=addslashes__recursive($_COOKIE); }
Y pues entrado en tema... les regalo otra!: // With this function, we are clear the html chars to entity ascii function clear_chars($var){ } else{ foreach ($var as $k => $v){ return $new_var; } } } if($_POST) $_POST=clear_chars($_POST); if($_GET) $_GET=clear_chars($_GET); if($_REQUEST) $_REQUEST=clear_chars($_REQUEST); if($_SERVER) $_SERVER=clear_chars($_SERVER); if($_COOKIE) $_COOKIE=clear_chars($_COOKIE);
Suerte
|
|
« Última modificación: 4 Junio 2009, 17:17 pm por дٳŦ٭ »
|
En línea
|
|
|
|
HardieVon
Desconectado
Mensajes: 181
Programming HardCore
|
Es para poner slashes del tipo (\) y se usa: echo addslashes__recursive($tuvariable);
Aunque en ese código ya esta siendo utilizada en todas las superglobales. Saludos, Dacan Exactirijillo xD, así es, con eso se cepilla todo lo que entra y sale a través del server/php. Aunque si tienes las magic quotes te va a poner tripe \ xD tons le cambié algo... //----------------------------------------------+ // We claer all traffic of our server | //----------------------------------------------+ // This function I extrac of SMF system fourum, cleared all " and ' in traffic server function addslashes__recursive($var){ foreach ($var as $k => $v)$new_var[addslashes($k)]=addslashes__recursive ($v); return $new_var; } //If the magic quotes are disable, aplicate the function, else, do not nothing $_POST=addslashes__recursive($_POST); $_GET=addslashes__recursive($_GET); $_REQUEST=addslashes__recursive($_REQUEST); $_SERVER=addslashes__recursive($_SERVER); $_COOKIE=addslashes__recursive($_COOKIE); }
Y pues entrado en tema... les regalo otra!: // With this function, we are clear the html chars to entity ascii function clear_chars($var){ } else{ foreach ($var as $k => $v){ return $new_var; } } } if($_POST) $_POST=clear_chars($_POST); if($_GET) $_GET=clear_chars($_GET); if($_REQUEST) $_REQUEST=clear_chars($_REQUEST); if($_SERVER) $_SERVER=clear_chars($_SERVER); if($_COOKIE) $_COOKIE=clear_chars($_COOKIE);
Suerte Sigue estando el return dentro de el bucle. ¬¬ vicioso del vodka
|
|
|
En línea
|
|
|
|
WHK
|
más corto: <?php $_GET = stripslashses_gpc($_GET); $_POST = stripslashses_gpc($_POST); $_COOKIE = stripslashses_gpc($_COOKIE); $_SERVER = stripslashses_gpc($_SERVER); function stripslashses_gpc($buffer){ return $buffer; foreach($buffer as $variable => $valor){ $temp[$variable] = stripslashses_gpc($valor); } return $temp; }else{ } }else{ return $buffer; } } ?>
Y con array_map() es más corto.
|
|
|
En línea
|
|
|
|
zinfinal
Desconectado
Mensajes: 8
******
|
Descripcion: Bueno esto sirve de una palabra agregarle algo en cada letra. function letras($palabra, $k){ return implode($k,str_split($palabra)); }
ejemplo: echo letras('hola', '<br />'); //resultado: h o l a ejemplo2: echo letras('hola', ','); //resultado: h,o,l,a
|
|
|
En línea
|
|
|
|
|
|