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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  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 105,319 veces)
DJmixmancar

Desconectado Desconectado

Mensajes: 98


Ver Perfil
Re: Funcion para cortar texto
« Respuesta #10 en: 4 Octubre 2008, 16:46 pm »

Funcion para cortar texo o limitar, ideal para ultimas noticias y demas

Código
  1. <?
  2. // Funcion para cortar texto
  3. // Programado por alienmaster <efnworkz@hotmail.com>
  4. // http://4cosas.com
  5. function cortar($text0, $limite){
  6.    $comp = strlen($text0);
  7.    if($comp > $limite){
  8.        return = substr($text0, 0, $limite)."...";
  9.    }
  10.    else{
  11.        return "$text0";
  12.    }
  13. }
  14. ?>

oe man una consultatita , como aria esta esta funcion con una consulta en mysql
que muestre las noticias no entiendo bien con mysql


En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Pequeños trucos en PHP
« Respuesta #11 en: 13 Octubre 2008, 09:04 am »

Transformación de Strings en múltiples formas

Código
  1. // Powered by GreenCode - WHK
  2. function codifica_base64_gz($buffer){
  3. $buffer = bin2hex(base64_encode(gzcompress($_POST['buffer'])));
  4. $separador = 16; // Editable, separador de 16 bytes.
  5. $separa = 0;
  6. for($cuenta=0;$cuenta<strlen($buffer);$cuenta+=2){
  7.  if($separa == 0){
  8.   $dump .= '"';
  9.  }
  10.  $dump .= '\x'.$buffer[$cuenta].$buffer[$cuenta+1];
  11.  $separa++;
  12.  if($separa == $separador){
  13.   $dump .= '"';
  14.   if($cuenta != (strlen($buffer))-2){
  15.    $dump .= '.'."\n";
  16.   }
  17.   $separa = 0;
  18.  }
  19. }
  20. if($dump[strlen($dump)-1] != '"'){
  21.  $dump .= '"';
  22. }
  23. return
  24. "\x3c\x3fphp\n// ...\n\n/* El retorno es tu buffer */".
  25. "\$str = gzuncompress(base64_decode(\n$dump\n));\n\n// ...\n\x3f\x3e";
  26. }
  27.  
  28. function ascii_a_png($buffer){
  29. return
  30. "\x3c\x3fphp\n// ...\n\n".
  31. "/* El retorno es una imagen */\n".
  32. "\$handle_img = imagecreate(".(int)(strlen($buffer) * 9).", 30);\n".
  33. "\$fondo = imagecolorallocate(\$handle_img, 255, 255, 255);\n".
  34. "\$color_texto = imagecolorallocate(\$handle_img, 0, 0, 255);\n".
  35. "imagestring(\$handle_img, 5, 0, 0, base64_decode(\"".base64_encode($buffer)."\"), \$color_texto);\n".
  36. "header(\"Content-type: image/png\");\n".
  37. "imagepng(\$handle_img);\n\n".
  38. "// ...\n\x3f\x3e";
  39. }
  40.  
  41. function sqlchr($buffer){
  42. for($cuenta=0;$cuenta<strlen($buffer);$cuenta++){
  43.  $dump .= 'char('.ord($buffer[$cuenta]).')';
  44.  if((strlen($buffer) - 1) != $cuenta){
  45.   $dump .= ',';
  46.  }
  47. }
  48. return $dump;
  49. }
  50.  
  51. function sqldword($buffer){
  52. return 'funcion(0x'.bin2hex($buffer).')';
  53. }
  54.  
  55. function urlencode_total($buffer){
  56. $buffer = bin2hex($buffer);
  57. for($cuenta=0;$cuenta<strlen($buffer);$cuenta+=2){
  58.  $dump .= '%'.$buffer[$cuenta].$buffer[$cuenta+1];
  59. }
  60. return $dump;
  61. }
  62.  
  63. function unescape_javascript($buffer){
  64. return '<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">
  65. document.write(unescape("'.urlencode_total($buffer).'"));
  66. </SCRIPT>';
  67. }
  68.  
  69. function php_encode($buffer){
  70. $buffer = bin2hex(base64_encode(gzcompress($_POST['buffer'])));
  71. $separador = 16; // Editable, separador de 16 bytes.
  72. $separa = 0;
  73. for($cuenta=0;$cuenta<strlen($buffer);$cuenta+=2){
  74.  if($separa == 0){
  75.   $dump .= '"';
  76.  }
  77.  $dump .= '\x'.$buffer[$cuenta].$buffer[$cuenta+1];
  78.  $separa++;
  79.  if($separa == $separador){
  80.   $dump .= '"';
  81.   if($cuenta != (strlen($buffer))-2){
  82.    $dump .= '.'."\n";
  83.   }
  84.   $separa = 0;
  85.  }
  86. }
  87. if($dump[strlen($dump)-1] != '"'){
  88.  $dump .= '"';
  89. }
  90. return
  91. "\x3c\x3fphp\n// ...\n".
  92. "/*\nRecuerda que no debes anteponer '\x3c\x3f' ni terminar con '\x3f\x3e'".
  93. "Elimina este comentario.\n*/\n".
  94. "eval(gzuncompress(base64_decode(\n$dump\n)));\n\n// ...\n\x3f\x3e";
  95. }
  96.  
  97. function decodifica_base64_gz($buffer){
  98. $buffer1 = str_replace('"',' ',$buffer);
  99. $buffer1 = str_replace('.',' ',$buffer);
  100. $buffer1 = explode('\x',$buffer);
  101. $buffer1[0] = '';
  102. for($cuenta=0;$cuenta<count($buffer1);$cuenta++){
  103.  if(strlen($buffer1[$cuenta]) == '2'){
  104.   $buffer2 .= ' '.$buffer1[$cuenta];
  105.   $procesando = true;
  106.  }else{
  107.   if($procesando){
  108.    $buffer2 .= ' '.$buffer1[$cuenta][0].$buffer1[$cuenta][1];
  109.   }
  110.  }
  111. }
  112. $buffer2 = explode(' ',$buffer2);
  113. for($cuenta=0;$cuenta<count($buffer2);$cuenta++){
  114.  if(strlen($buffer2[$cuenta]) == '2'){
  115.   $buffer3 .= $buffer2[$cuenta];
  116.  }
  117. }
  118. return gzuncompress(base64_decode(hexa_a_str($buffer3)));
  119. }
  120.  
  121. function ascii_a_sha1($buffer){
  122. return sha1($buffer);
  123. }
  124.  
  125. function hexa_a_str($buffer){
  126. $buffer = preg_replace("/[^a-zA-Z0-9s]/", "", str_replace('\x',' ',$buffer));
  127. for($cuenta=0; $cuenta<strlen($buffer); $cuenta+=2){
  128.  $dump .= chr(hexdec($buffer[$cuenta].$buffer[($cuenta+1)]));
  129. }
  130. return $dump;
  131. }
  132.  
  133. function ascii_a_decimal($buffer){
  134. for($cuenta=0;$cuenta<strlen($buffer);$cuenta++){
  135.  $dump .= ord($buffer[$cuenta]).' ';
  136. }
  137. return $dump;
  138. }
  139.  
  140. function ascii_a_html_sin_s($buffer){
  141. $buffer = bin2hex($buffer);
  142. for($cuenta=0; $cuenta<strlen($buffer); $cuenta+=2){
  143.  $dump .= '&#38;#'.hexdec($buffer[$cuenta].$buffer[$cuenta+1]);
  144. }
  145. return $dump;
  146. }
  147.  
  148. function ascii_a_html_con_s($buffer){
  149. $buffer = bin2hex($buffer);
  150. for($cuenta=0; $cuenta<strlen($buffer); $cuenta+=2){
  151.  $dump .= '&#38;#x'.$buffer[$cuenta].$buffer[$cuenta+1].';';
  152. }
  153. return $dump;
  154. }
  155.  
  156. function generar_htpasswd_sha($user,$pass){
  157. return $user.':{SHA}'.base64_encode(sha1($pass, TRUE));
  158. }
  159.  
  160. function generar_htpasswd_md5($user,$realm,$pass){
  161. return $user.':'.md5($user.':'.$realm.':'.$pass);
  162. }
  163.  
  164. function hexadecimal_a_decimal($buffer){
  165. $buffer = preg_replace("/[^a-zA-Z0-9s]/", "", str_replace('\x',' ',$buffer));
  166. for($cuenta=0; $cuenta<strlen($buffer); $cuenta++){
  167.  if(ctype_xdigit($buffer[$cuenta].$buffer[$cuenta+1])){
  168.   $dump .= hexdec($buffer[$cuenta].$buffer[$cuenta+1]).' ';
  169.   $cuenta++;
  170.  }
  171. }
  172. return $dump;
  173. }
  174.  
  175. function octal_a_decimal($buffer){
  176. $buffer = preg_replace("/[^0-9 s]/", "", $buffer);
  177. $buffer = explode(' ',$buffer);
  178. for($cuenta=0; $cuenta<(count($buffer)-1); $cuenta++){
  179.  $dump .= octdec($buffer[$cuenta]).' ';
  180. }
  181. return $dump;
  182. }
  183.  
  184. function ascii_a_hexadecimal($buffer){
  185. return chunk_split(bin2hex($buffer),2,' ');
  186. }
  187.  
  188. function ascii_a_octal($buffer){
  189. $buffer = bin2hex($buffer);
  190. for($cuenta=0; $cuenta<strlen($buffer); $cuenta+=2){
  191.  $dump .= hexdec($buffer[$cuenta].$buffer[$cuenta+1]).' ';
  192. }
  193. $dump3 = explode(' ',$dump);
  194. for($cuenta=0; $cuenta<(count($dump3)-1); $cuenta++){
  195.  $dump2 .= decoct($dump3[$cuenta]).' ';
  196. }
  197. return $dump2;
  198. }
  199.  
  200. function debugger(){
  201. global $dump;
  202. if($dump){
  203.  echo htmlspecialchars($dump,ENT_QUOTES);
  204. }else{
  205.  if($_POST['buffer'] and $_POST['algoritmo']){
  206.  echo "No hay datos que devolver";
  207.  }
  208. }
  209. }
  210.  

Uso:

Código
  1. <?php
  2. // .. ..
  3. $dump = ascii_a_png('Hola Elhacker.net'); // Procesa el String.
  4. debugger(); // Imprime en pantalla el resultado evitando un XSS.
  5. // .. ..
  6. ?>

Debido a una incompatibilidad de SMF con carácteres HTML como & y # las dos funciones
ascii_a_html_sin_s()
ascii_a_html_con_s()
No se ven como debieran. Deben aparecer de la siguiente manera:

function ascii_a_html_sin_s($buffer){
 $buffer = bin2hex($buffer);
 for($cuenta=0; $cuenta<strlen($buffer); $cuenta+=2){
  $dump .= '&#'.hexdec($buffer[$cuenta].$buffer[$cuenta+1]);
 }
 return $dump;
}

function ascii_a_html_con_s($buffer){
 $buffer = bin2hex($buffer);
 for($cuenta=0; $cuenta<strlen($buffer); $cuenta+=2){
  $dump .= '&#x'.$buffer[$cuenta].$buffer[$cuenta+1].';';
 }
 return $dump;
}


« Última modificación: 13 Octubre 2008, 09:23 am por WHK » En línea

Dacan

Desconectado Desconectado

Mensajes: 237



Ver Perfil WWW
[Funcion] Para Instaladores
« Respuesta #12 en: 19 Diciembre 2008, 14:50 pm »

Función:
Código
  1. <?
  2. // Creada por Dacan
  3. function instalador ($archivo , $variable1, $variable2, $variable3, $variable4){
  4. $manejador = @fopen($archivo, "w+");
  5.  
  6. $contenido = "<?\n";
  7. $contenido .= "\$servidor = \"$variable1\";\n";
  8. $contenido .= "\$usuario = \"$variable2\";\n";
  9. $contenido .= "\$password = \"$variable3\";\n";
  10. $contenido .= "\$base = \"$variable4\";\n";
  11. $contenido .= "\$conexion = @mysql_connect(\$servidor, \$usuario, \$password) or die(mysql_error());\n";
  12. $contenido .= "@mysql_select_db(\$base, \$conexion) or die (mysql_error());\n";
  13. $contenido .= "?>";
  14. if(fwrite($manejador, $contenido)){
  15. return true;
  16. }
  17. else{
  18. return false;
  19. }
  20. }
  21. ?>

Ejemplo de Uso:

Código
  1. <?
  2. if(instalador("config.php", $_POST['servidor'], $_POST['usuario'], $_POST['password'], $_POST['base'])){
  3. echo "Datos guardados correctamente";
  4. }
  5. else {
  6. echo "Ocurrio un error!";
  7. }
  8. ?>

Como Funciona:

Código
  1. function instalador ($archivo , $variable1, $variable2, $variable3, $variable4){

La variable $archivo corresponde al archivo que se va modificar, $variable 1 corresponde al host donde esta alojada la base de datos, $variable2 corresponde al usuario de la base de datos, $variable3 corresponde la password de la base de datos y $variable4 corresponde el nombre de la base de datos.

Si encuentran algún error, modifican algo, tienen dudas no duden en avisarme, si lo usan en sus scripts aunque sea dejen la parte de Creada por Dacan se les agradece.

Este tema proviene de otro foro al cual pertenezco para que no hayan confusiones: http://mixforo.com/foro/index.php/topic,61657.0.html


Saludos, Dacan  :D
« Última modificación: 21 Enero 2009, 00:47 am por Dacan » En línea

& eDu &


Desconectado Desconectado

Mensajes: 580



Ver Perfil
Re: [Funcion] Para Instaladores
« Respuesta #13 en: 20 Diciembre 2008, 16:32 pm »

Me gusta, lo utilizaré para el instalador que estoy creando... ;)
En línea

Dacan

Desconectado Desconectado

Mensajes: 237



Ver Perfil WWW
Re: [Funcion] Para Instaladores
« Respuesta #14 en: 21 Diciembre 2008, 00:54 am »

Cuando pueda la mejoro con mas opciones así cuando necesiten hacer un instalador se ahorren mucho código.

Saludos, Dacan  :D
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Pequeños trucos en PHP
« Respuesta #15 en: 21 Diciembre 2008, 04:11 am »

Podríamos hacer un solo post en el comienzo con uno o grupos de php algo así como librerías de códigos sacados de acá mismo y usarlos en sistemas, pasar todo a funciones y aplicarlos como uno quiera, por ejemplo que todo comienze con un include a ./.class_php/includes.php y ese include que se encargue de hacer el resto y ese directorio con acceso denegado al acceso público, de esta forma si alguien necesita alguna función de acá solo descarga el sistema y le hace un include y listo.

Si es que se puede con el permiso del mod, habría que pedir permiso a los que postearon cada tema para ver si se puede incluir o no, es mas, hasta podría elegirse solo los mas funcionales para ahorrar espacioy hacer algo así como un concurso mensual y los mejores serán incluido al paquete  :P, si fuera así cada persona que posteara algo acá tendría que decir que podemos incluirlo si es que quiere que se incluya.. claro nuevamente con el permiso del mod  :P
En línea

дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
*
Desconectado Desconectado

Mensajes: 5.110


Ver Perfil WWW
Re: Pequeños trucos en PHP
« Respuesta #16 en: 21 Diciembre 2008, 04:52 am »

Claro ;) no hay problema, nomas me avisan a que le dejo y quito chincheta  ;)
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Pequeños trucos en PHP
« Respuesta #17 en: 21 Diciembre 2008, 06:49 am »

Bién, gracias.. ahi va:

http://foro.elhacker.net/php/proyecto_phplibs_creado_por_los_usuarios_de_elhackernet-t239182.0.html

Como son mas de un tema de donde sacar mejor hize uno nuevo  :P como fuiste el único que me ha respondido que puedo poner tus scripts en el sistema entonces solo los dos estamos integrados, si alguien mas quiere hacerlo que se haga presente en ese post que puse.
En línea

e500

Desconectado Desconectado

Mensajes: 83


Ver Perfil
Re: Pequeños trucos en PHP
« Respuesta #18 en: 26 Diciembre 2008, 03:11 am »

Exelente! :)
En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Generar series de DNI's falsos
« Respuesta #19 en: 18 Enero 2009, 21:39 pm »

Bueno, este generador lo hice hace tiempo, es util para formularios de dominios, hosting, emails...:

Código
  1. <?php
  2.  
  3. // generador de dnis para formularios
  4.  
  5. // Creado por Erik#
  6.  
  7. // erik_unix@hotmail.com
  8.  
  9. function dni($dni){
  10.  
  11. $gen= (int) ($dni / 23);
  12.  
  13. $gen *= 23;
  14.  
  15. $gen= $dni - $gen;
  16.  
  17. $gen2= "TRWAGMYFPDXBNJZSQVHLCKEO";
  18.  
  19. $letra= substr ($gen2, $gen, 1);
  20.  
  21. return $dni.$letra;
  22.  
  23. }
  24.  
  25. $n1 = rand(0,9);
  26.  
  27. $n2 = rand(0,9);
  28.  
  29. $n3 = rand(0,9);
  30.  
  31. $n4 = rand(0,9);
  32.  
  33. $n5 = rand(0,9);
  34.  
  35. $n6 = rand(0,9);
  36.  
  37. $n7 = rand(0,9);
  38.  
  39. $n8 = rand(0,9);
  40.  
  41. $ndni = $n1.$n2.$n3.$n4.$n5.$n6.$n7.$n8;
  42.  
  43. echo '<b>DNI: </b>'.dni($ndni);
  44.  
  45. ?>
  46.  
  47.  
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,068 Último mensaje 15 Enero 2004, 15:49 pm
por Songoku
Pequeños detalles
Programación Visual Basic
3k1n0x 3 2,777 Ú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 12,216 Último mensaje 13 Septiembre 2010, 22:21 pm
por Komodo
PE mas PEqueños.. « 1 2 3 »
ASM
Vaagish 24 12,948 Último mensaje 10 Mayo 2014, 01:04 am
por Vaagish
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines