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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  [Recomendado] Pequeños trucos en PHP / Scripts php-mysql / POO
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] 4 Ir Abajo Respuesta Imprimir
Autor Tema: [Recomendado] Pequeños trucos en PHP / Scripts php-mysql / POO  (Leído 108,952 veces)
Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Captcha en PHP
« Respuesta #20 en: 18 Enero 2009, 22:34 pm »

Bueno, os dejo un captcha que cree usando sesiones, en principio iva a usar cookies, pero, me lo repense:

captchaverf.php
Código
  1. <?php
  2.  
  3.  
  4. if($_POST['ok']){
  5.  
  6. if($_POST['captcha'] == $_SESSION['captcha']){
  7.  
  8. echo "Captcha correcto";
  9.  
  10. }else{
  11.  
  12. echo "Captcha incorrecto";
  13.  
  14. }
  15.  
  16. }else{
  17.  
  18. echo '<img src="captcha.php"><br>
  19.  
  20. <form action="captchaverf.php" method="POST">
  21.  
  22. <input type="text" name="captcha"><br><input type="submit" name="ok" value="Verificar"></form>';
  23.  
  24. }
  25.  
  26. ?>
  27.  
  28.  

captcha.php
Código
  1. <?php
  2.  
  3.  
  4. header("Content-type: image/png");
  5.  
  6. $_SESSION['captcha'] = rand(0001, 9999);
  7.  
  8. $imagen = imagecreate(50,25);
  9.  
  10. $fondo = imagecolorallocate($imagen, 0, 0, 0);
  11.  
  12. $texto = imagecolorallocate($imagen, 255, 255, 255);
  13.  
  14. imagestring($imagen, 10, 6, 5,$_SESSION['captcha'], $texto);
  15.  
  16. imagepng($imagen);
  17.  
  18. ?>

Prueba: www.krews.es/captchaverf.php


En línea

Servia


Desconectado Desconectado

Mensajes: 346


Ver Perfil
Re: Pequeños trucos en PHP
« Respuesta #21 en: 25 Enero 2009, 22:41 pm »

Esta funcióncomo se usaría?
Código
  1. <?php
  2. function addslashes__recursive($var){
  3. if (!is_array($var))
  4. return addslashes($var);
  5. $new_var = array();
  6. foreach ($var as $k => $v)$new_var[addslashes($k)]=addslashes__recursive($v);
  7. return $new_var;
  8. }
  9. $_POST=addslashes__recursive($_POST);
  10. $_GET=addslashes__recursive($_GET);
  11. $_REQUEST=addslashes__recursive($_REQUEST);
  12. $_SERVER=addslashes__recursive($_SERVER);
  13. $_COOKIE=addslashes__recursive($_COOKIE);
  14. ?>

Se pone en cada archivo php y listo? no verdad? :(


En línea

Dacan

Desconectado Desconectado

Mensajes: 237



Ver Perfil WWW
Re: Pequeños trucos en PHP
« Respuesta #22 en: 25 Enero 2009, 23:19 pm »

Es para poner slashes del tipo (\) y se usa:

Código
  1. echo addslashes__recursive($tuvariable);

Aunque en ese código ya esta siendo utilizada en todas las superglobales.

Saludos, Dacan  :D
En línea

HardieVon

Desconectado Desconectado

Mensajes: 181


Programming HardCore


Ver Perfil WWW
Evitando Inclusiones malicias de XSRF.
« Respuesta #23 en: 28 Enero 2009, 07:30 am »

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.

Código
  1. <?php
  2. function XSRF($s){
  3. $ref=parse_url($_SERVER['HTTP_REFERER']);
  4. if(($ref['host']==$_SERVER['HTTP_HOST'])&&(basename($ref['path'])==$s)) return true;
  5. }
  6. /* EJEMPLO  */
  7. # El argumento este que se pasa, es script donde se supone viene el vinculo por ejemplo
  8. # en un script donde su nombre es admin_posts.php y contine algo como <a href="eliminar.php?cual=estemero">Eliminar</a>
  9. #entonces en el script eliminar.php ponemos la siguente estructura
  10. if(XSRF("admin_posts.php")){
  11. #ejecuta si es legitimo -->
  12. $gestor=fopen('correcto.txt', 'a');
  13. fwrite($gestor, "OK\n");
  14. fclose($gestor);
  15. #<--
  16. }
  17. ?>
« Última modificación: 3 Junio 2009, 07:26 am por Seguridad PHP » En línea

[u]nsigned


Desconectado Desconectado

Mensajes: 2.397

JS/Node developer


Ver Perfil WWW
Re: Pequeños trucos en PHP
« Respuesta #24 en: 3 Junio 2009, 07:32 am »

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 Desconectado

Mensajes: 181


Programming HardCore


Ver Perfil WWW
Re: Pequeños trucos en PHP
« Respuesta #25 en: 3 Junio 2009, 08:08 am »

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 Desconectado

Mensajes: 5.110


Ver Perfil WWW
Re: Pequeños trucos en PHP
« Respuesta #26 en: 4 Junio 2009, 17:15 pm »

Es para poner slashes del tipo (\) y se usa:

Código
  1. echo addslashes__recursive($tuvariable);

Aunque en ese código ya esta siendo utilizada en todas las superglobales.

Saludos, Dacan  :D

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...

Código
  1. //----------------------------------------------+
  2. // We claer all traffic of our server |
  3. //----------------------------------------------+
  4. // This function I extrac of SMF system fourum, cleared all " and ' in traffic server
  5. function addslashes__recursive($var){
  6. if (!is_array($var))
  7. return addslashes($var);
  8. $new_var = array();
  9. foreach ($var as $k => $v)$new_var[addslashes($k)]=addslashes__recursive($v);
  10. return $new_var;
  11. }
  12. //If the magic quotes are disable, aplicate the function, else, do not nothing
  13. $_POST=addslashes__recursive($_POST);
  14. $_GET=addslashes__recursive($_GET);
  15. $_REQUEST=addslashes__recursive($_REQUEST);
  16. $_SERVER=addslashes__recursive($_SERVER);
  17. $_COOKIE=addslashes__recursive($_COOKIE);
  18. }
  19.  

Y pues entrado en tema... les regalo otra!:

Código
  1. // With this function, we are clear the html chars to entity ascii
  2. function clear_chars($var){
  3. if(!is_array($var)){
  4. return htmlspecialchars($var);
  5. }
  6. else{
  7. $new_var = array();
  8. foreach ($var as $k => $v){
  9. $new_var[htmlspecialchars($k)]=clear_chars($v);
  10. return $new_var;
  11. }
  12. }
  13. }
  14. if($_POST) $_POST=clear_chars($_POST);
  15. if($_GET) $_GET=clear_chars($_GET);
  16. if($_REQUEST) $_REQUEST=clear_chars($_REQUEST);
  17. if($_SERVER) $_SERVER=clear_chars($_SERVER);
  18. if($_COOKIE) $_COOKIE=clear_chars($_COOKIE);
  19.  

Suerte
« Última modificación: 4 Junio 2009, 17:17 pm por дٳŦ٭ » En línea

HardieVon

Desconectado Desconectado

Mensajes: 181


Programming HardCore


Ver Perfil WWW
Re: Pequeños trucos en PHP
« Respuesta #27 en: 24 Junio 2009, 08:48 am »

Es para poner slashes del tipo (\) y se usa:

Código
  1. echo addslashes__recursive($tuvariable);

Aunque en ese código ya esta siendo utilizada en todas las superglobales.

Saludos, Dacan  :D

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...

Código
  1. //----------------------------------------------+
  2. // We claer all traffic of our server |
  3. //----------------------------------------------+
  4. // This function I extrac of SMF system fourum, cleared all " and ' in traffic server
  5. function addslashes__recursive($var){
  6. if (!is_array($var))
  7. return addslashes($var);
  8. $new_var = array();
  9. foreach ($var as $k => $v)$new_var[addslashes($k)]=addslashes__recursive($v);
  10. return $new_var;
  11. }
  12. //If the magic quotes are disable, aplicate the function, else, do not nothing
  13. $_POST=addslashes__recursive($_POST);
  14. $_GET=addslashes__recursive($_GET);
  15. $_REQUEST=addslashes__recursive($_REQUEST);
  16. $_SERVER=addslashes__recursive($_SERVER);
  17. $_COOKIE=addslashes__recursive($_COOKIE);
  18. }
  19.  

Y pues entrado en tema... les regalo otra!:

Código
  1. // With this function, we are clear the html chars to entity ascii
  2. function clear_chars($var){
  3. if(!is_array($var)){
  4. return htmlspecialchars($var);
  5. }
  6. else{
  7. $new_var = array();
  8. foreach ($var as $k => $v){
  9. $new_var[htmlspecialchars($k)]=clear_chars($v);
  10. return $new_var;
  11. }
  12. }
  13. }
  14. if($_POST) $_POST=clear_chars($_POST);
  15. if($_GET) $_GET=clear_chars($_GET);
  16. if($_REQUEST) $_REQUEST=clear_chars($_REQUEST);
  17. if($_SERVER) $_SERVER=clear_chars($_SERVER);
  18. if($_COOKIE) $_COOKIE=clear_chars($_COOKIE);
  19.  

Suerte

Sigue estando el return dentro de el bucle.
¬¬ vicioso del vodka
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.606


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Pequeños trucos en PHP
« Respuesta #28 en: 24 Agosto 2009, 05:33 am »

más corto:
Código
  1. <?php
  2. $_GET = stripslashses_gpc($_GET);
  3. $_POST = stripslashses_gpc($_POST);
  4. $_COOKIE = stripslashses_gpc($_COOKIE);
  5. $_SERVER = stripslashses_gpc($_SERVER);
  6.  
  7. function stripslashses_gpc($buffer){
  8. if(!function_exists('get_magic_quotes_gpc'))
  9.  return $buffer;
  10.  if(is_array($buffer)){
  11.   foreach($buffer as $variable => $valor){
  12.    $temp[$variable] = stripslashses_gpc($valor);
  13.   }
  14.   return $temp;
  15.  }else{
  16.   return stripslashes($buffer);
  17.  }
  18. }else{
  19.  return $buffer;
  20. }
  21. }
  22. ?>

Y con array_map() es más corto.
En línea

zinfinal

Desconectado Desconectado

Mensajes: 8


******


Ver Perfil WWW
Re: Pequeños trucos en PHP
« Respuesta #29 en: 27 Enero 2011, 18:22 pm »

Descripcion: Bueno esto sirve de una palabra agregarle algo en cada letra.

Código:
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

Páginas: 1 2 [3] 4 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
pequeños problema con .asf
Multimedia
mundo 3 3,540 Último mensaje 15 Enero 2004, 15:49 pm
por Songoku
Pequeños detalles
Programación Visual Basic
3k1n0x 3 3,015 Último mensaje 4 Noviembre 2007, 14:57 pm
por 3k1n0x
Avatares de usuario más pequeños « 1 2 3 4 »
Sugerencias y dudas sobre el Foro
NirozMe|on 30 13,649 Último mensaje 13 Septiembre 2010, 22:21 pm
por Komodo
PE mas PEqueños.. « 1 2 3 »
ASM
Vaagish 24 14,322 Último mensaje 10 Mayo 2014, 01:04 am
por Vaagish
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines