Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mensajes - godmurdoc

Páginas: [1]
1
Bugs y Exploits / Re:DDos Attack (explicacion) Mediante CMD
« en: Diciembre 01, 2011, 01:45:13 am »
interesante bro y buen aporte xD

2
Tutoriales / Re:Manual de utilización de Adobe Photoshop CS5
« en: Noviembre 15, 2011, 01:59:46 am »
gracias tb

3
Tutoriales / Re:Manual de utilización de Adobe Photoshop CS5
« en: Noviembre 09, 2011, 12:35:01 am »
gracias x la info  ;D :D

4
Tutoriales / Manual de utilización de Adobe Photoshop CS5 [Tutorial]
« en: Noviembre 01, 2011, 01:04:36 am »


Ya puedes poner a descargar un completo manual para la utilización de Adobe Photoshop CS5, en donde te toparás con casi 700 páginas llenas de pura información que sirve de mucha ayuda al momento de liberar nuestra creatividad con este fabuloso programa que ha llegado a ser el más popular para la edición y retoque de fotografías e imágenes en todo el planeta con disponibilidad para múltiples plataformas.

Una de las mejores cosas es que es gratuito y en español para que puedas aprender sin ningún problema, posee algunas páginas llenas de ilustraciones para entender el manual, el cual es algo complicado para los diseñadores que están comenzando en esta área.

fuente:

Manual de Photoshop CS5


5
Hacking / Re:Descubre en Cuanto Tiempo se Puede Crackear tu Contraseña
« en: Octubre 24, 2011, 01:23:22 am »
About 778 thousand years
 jeje eso loq me sale ami sres xD

6
Supongo que también te ha pasado que necesitas o quieres enviar un mensaje a alguien y ¡OMG, te quedaste sin saldo! Pues eso ya no es un gran problema porque con tener Internet en tu computadora ya tienes la solución. Presta atención:

1)En la barra de direcciones de tu navegador web (Internet Explorer, ya que es válido solo desde este) debes escribir la siguiente dirección web: http://www.smsdigital.com.ve

2)Cuando la página abra te aparecerá la siguiente imagen, en la cual debes hacer clic.



Paso N°2

3)Ahora aparecerá un cuadro como el que te voy a mostrar a continuación, en este  debes hacer el clic sobre el texto “¿Todavía no estás registrado? Haz clic aquí y ¡únete ya!”.



Paso N°3

4)En la ventana que saldrá tendrás que leer los términos y condiciones para usar el servicio y luego debes aceptarlos seleccionando con un clic la casilla donde aparece el texto: “He leído los Términos y Condiciones del servicio y he decidido”. Haz clic en el botón “Continuar con el Registro”.


Paso N°4

5)El siguiente paso consiste en llenar las casillas del módulo de registro. En las primeras dos casillas colocarás la dirección de tu correo electrónico, y en la tercera el código que te aparezca y haces clic en el botón “Siguiente”. A ese e-mail que señalaste, te enviarán un código para que puedas completar tu registro, esto lo hacen para verificar que tu cuenta no sea falsa.



Paso N°5

6) Revisa tu correo electrónico y abre el mensaje que te enviaron.

7) Escribe en el recuadro el código que te enviaron a tu correo y luego haz clic en el botón “Siguiente”.



Paso N°7

8 ) Este paso también es de validación, debes escribir dos veces tu número celular y hacer clic en el botón “Siguiente”. A continuación te enviarán a tu celular otro código para continuar con el registro.



Paso N°8

9) Revisa el mensaje que enviaron a tu celular y el código que te enviaron lo debes introducir correctamente en la nueva casilla y hacer clic en “Siguiente”.



Paso N°9

10) Para poder finalizar tu registro de manera satisfactoria, es necesario que ahora rellenes los siguientes recuadros con tu nombre, apellido, fecha de nacimiento, número de cédula, sexo, ocupación, estado y ciudad en donde vives, un nombre de usuario o apodo y crear una contraseña. También tienes que aceptar los términos y condiciones haciendo clic sobre el cuadrito en blanco. Por último haz clic en “Finalizar”.



Paso N°10

11) Ahora sí, para ingresar en el servicio y poder enviar Sms gratuitamente, haz clic sobre el texto: “Clic Aquí para ir a la página principal y entrar en tu cuenta” o cada vez quieras usar el servicio ingresas en la página principal.



Paso N°11

12) Introduce el nombre de usuario o apodo que colocaste en el registro y también la contraseña. Haz clic en el botón “Iniciar Sesión”.



Paso N°12

13) Haz clic donde dice “ENVIAR SMS GRATIS”.



Paso N°13

14) Escribe el mensaje que deseas enviar, el número de celular que corresponda y por último haz clic en el botón “Enviar SMS”.



Paso N°14

Espero puedan disfrutar este servicio sin ningún problema, estoy segura que les servirá en muchísimos caso. Algo que debes tener en cuenta es que mensualmente puedes enviar solo 50 sms.

fuente

bye

7
Back-end / PHP Perfect Form Items v1.0 (Formularios sin errores)
« en: Agosto 03, 2011, 01:22:15 am »
Las funciones que se explican en este artículo se encuentran en la siguiente dirección http://www.distintiva.com/jose/_perf_form/perf_form.zip. El código puede ser cambiado, mejorado y distribuido libremente. Ha sido programado totalmente por Jose Carlos García de Distintiva Solutions (www.distintiva.com).

Empecemos con el ejemplo más difícil y el causante de que tuviera que programar estas funciones.

<SELECT>
Crear elementos de selección <select></select>
Con php es muy habitual trabajar con arrays, ya sea con datos que nos proporcione una consulta SQL o simples valores.

Veamos un ejemplo en el que queremos mostrar un <select> para

Código: PHP
  1. <select name="edad">
  2.    <option value=0>Seleccione</option>
  3.    <option value=1>Entre 0-18</option>
  4.    <option value=2>Entre 19-30</option>
  5.    <option value=3>Entre 31-50</option>
  6.    <option value=4>Más de 50</option>
  7. <select/>

Esto se complica cuando hay que hacerlo de forma dinámica ya que esta lista puede variar, para evitar tener que cambiar el HTML “a pelo” ya que necesitamos construir este fragmento de HTML con un bucle, etc.

Se complica aún más cuando una opción debe estar preseleccionada.
La función que nos salvará la vida es:

Código: PHP
  1. frm_select($name, $arr_txt, $arr_vals, $default='', $extra_tag='')
  2.  

Código: PHP
  1. $name = Nombre del elemento del formulario
  2. $arr_txt = Array con los textos a mostrar
  3. $arr_vals = Array con los valores asociados a cada texto
  4. $default= [opcional] si se indica el valor aparecerá preseleccionado dicha opción
  5. $extra_tag= [opcional] por si necesitamos incluir información adicional al select, como por ejemplo $extra_tag=” class=cssazul ” o $extra_tag=” onChange=alert()”
  6.  
  7. Ejemplo:
  8. $arr_txt=array(‘españa’, ‘portugal’, ‘francia’);
  9. $arr_vals=array(‘ES’, ‘PT’, FR’);
  10. <?=frm_select (‘paises’, $arr_txt, $arr_vals) ?>
  11.  
  12.  

De esta forma cualquier modificación sólo hay que hacerla en los arrays sin alterar la parte visual.

A veces es conveniente conservar el valor de un campo del formulario entre llamadas o posts del mismo por ejemplo cuando estamos validando entradas y hay que volver al formulario para que rellene algún campo requerido. Para hacer esto de forma sencilla tan solo tenemos que usar el parámetro $default de la siguiente forma:

Código: PHP
  1. <?=frm_select (‘paises’, $arr_txt, $arr_vals, $_POST[‘paises’]) ?>
  2.  
(o $_GET dependiendo el método que usemos en nuestro formulario

<SELECT> (tipo lista con varios elementos visibles)

Funciona exactamente igual que el anterior pero en este caso tenemos la típica lista de selección con scroll mostrando X elementos.

La función es:
Código: PHP
  1. frm_list($name,$size, $arr_txt, $arr_vals, $default='', $extra_tag='')
  2.  

En este caso el nuevo parámetro es $size que indica cuántos elementos serán mostrados visiblemente en la lista.

<SELECT> (tipo lista con varios elementos visibles y con multiselección)

Igual que el ejemplo anterior pero permitimos que el usuario seleccione uno o varios elementos de la lista con el CTRL+Click o SHIFT+Click

La función es:

Código: PHP
  1. frm_list_multi($name, $size, $arr_txt, $arr_vals, $default='', $extra_tag='')
  2.  

... Y también tenemos funciones correspondientes para los demás elementos de formulario aprovechando la capacidad de mantener el valor entre posts.

<CHECKBOX>
No hace falta decir para que sirven estos elementos. La función es:

Código: PHP
  1. frm_check($name, $ck_val, $var_in='', $extra_tag='')
  2.  

Código: PHP
  1. $name= Nombre del campo
  2. $ck_val= Valor que se enviará cuando esté seleccionado
  3. $var_in=[opcional] Funciona como el $default y permitirá que se muestre checkeado
  4.  
  5. Ejemplo:
  6. Se muestra un checkbox que se mantiene seleccionado entre posts del formulario
  7. <?= frm_check(‘fumador’, ‘SI’, $_POST[‘fumador’])?>
  8.  

<RADIO>
En este caso para mostrar radiobuttons se hace exactamente como el caso anterior pero con la siguiente función:

Código: PHP
  1. frm_radio($name, $val, $var_in='', $extra_tag='')
  2.  

<INPUT>
Permite mostrar cuadros de texto con las ventajas que voy ofreciendo en todas las funciones y para ello hay que usar:

Código: PHP
  1. frm_text($name, $val, $size, $max_length, $extra_tag='')
  2.  

Código: PHP
  1. $name = Nombre del campo
  2. $val = Valor o texto que se mostrará (funciona como el $default de las otras funciones)
  3. $size = Tamaño del campo de texto
  4. $max_length = Longitud máxima permitida
  5.  

<PASSWORD>
El caso es exactamente como el anterior pero esta vez oculta el texto con asteriscos.

Código: PHP
  1. frm_password($name, $val, $size, $max_length, $extra_tag='')
  2.  
  3.  

fuente

bye

8
Manuales y libros / Re:Obtener Vps gratis
« en: Agosto 03, 2011, 12:43:01 am »
mm ah provar ps men xD

buena info

9
Otros lenguajes Scripting / Enviar un e-mail HTML con PHP
« en: Julio 29, 2011, 07:52:32 pm »
Enviar un e-mail con PHP es muy sencillo, tan solo tenemos que utilizar la función mail. Pero cuando escribimos código HTML en el cuerpo del mensaje, este lo recibimos como texto y no como una página web, como querríamos. Esto tiene facil solución, solo necesitamos añadir la cabecera "Content-type: text/html" en el e-mail y el código que enviemos se interpretará como HTML. Veamos como:

Código: [Seleccionar]
?php

$codigohtml = '

<html>
<head>
<title>E-Mail HTML</title>
</head>
<body>
<a href="[url]http://www.webtaller.com[/url]">Ir a WebTaller</a>
</body>

';

$email = '[email protected]';
$asunto = 'E-Mail HTML';
$cabeceras = "Content-type: text/html\r\n";

mail($email,$asunto,$codigohtml,$cabeceras);

?>

De esta forma, los e-mails que enviemos se verán como una página Web. En las cabeceras podemos añadir otras cosas, como por ejemplo si queremos especificar quien envía el e-mail haremos:

Código: [Seleccionar]
$cabeceras = "From: [email protected]\r\nContent-type: text/html\r\n";
creditos: vico hack



10
Galería / Re:Nuevas Underc0de UserBar 2
« en: Julio 19, 2011, 01:42:48 am »
interesante

11
Batch - Bash / Re:[Batch] Bloquea paginas Web [Comando para la CMD]
« en: Julio 07, 2011, 06:22:22 pm »
interesante men lo prbare ok xD
gran aporte

12
Recursos / Crear avatar tridimensional [Software]
« en: Julio 06, 2011, 05:16:38 pm »
Herramientas para crear avatares en línea hay cientos, y nada como probar “Photoface“, una idea distinta y original, la cual es una web en la que podrás realizar tus propios avatares en 3 dimensiones a la forma de tu cara y modificar cada parte de ella.



Al editar cada parte de la cara podemos incluir: El aumento del tamaño de los ojos, hacer más pequeña o más grande la nariz, el cabello y su multiplicidad de colores, el tamaño de la boca, la barbilla, los ojos, la posibilidad de poner en versión caricatura, etc.

Además, al finalizar nuestro avatar por completo, tenemos la función de agregarle audio y descargar el video como tal o imagen sin audio para luego distribuirlo a distintas redes sociales como Facebook y demostrarle a tus amigos lo buena que es esta magnífica herramienta.

fuente

bye


13
Si tienes una cuenta en Facebook y otra red social o blog que te permita pegar código HTML, te presento una útil herramienta para personalizarlos.

Se trata de Mint Profile, una herramienta que te permite crear un mensaje con luces LED como las que se ven en publicidades en algunos cines o aeropuertos, en las que en una pequeña pantalla se aprecia un mensaje deslizándose hacia un lado. El mensaje creado podrás incrustarlo en tu perfil de Facebook y darle un toque diferente.

Es sencillo de utilizar, solo ingresas a su página web y seleccionas el color de tu preferencia para mostrarlo en el mensaje, para luego escribir el texto en el campo correspondiente y hacer click en el botón “Generate” e inmediatamente se creará el mensaje LED animado para colocarlo en tu perfil de Facebook copiando y pegando el código HTML que te ofrecen.

code:
Código: HTML5
  1. <a href="[url]http://www.mintprofile.com[/url]"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="[url]http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0[/url]" width="380" height="50" id="mintprofile.com" align="middle">
  2. <param name="allowScriptAccess" value="sameDomain" />
  3. <param name=FlashVars value="bt=godmurdoc       &cl=red">
  4. <param name="movie" value="[url]http://www.mintprofile.com/led.swf[/url]" /><param name="quality" value="high" />
  5. <param name="wmode" value="transparent" /><param name="bgcolor" value="#000000" />
  6. <embed FlashVars="bt=godmurdoc    &cl=red" src="[url]http://www.mintprofile.com/led.swf[/url]" quality="high" wmode="transparent" bgcolor="#000000" width="380" height="50" name="mintprofile.com" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="[url]http://www.macromedia.com/go/getflashplayer[/url]" />
  7. </object></a><br><br><a style="padding: 2px; background:#fff0f0; color:#000; font-family:arial; font-size:11px; text-decoration:none; border:2px solid #d72727;" href="[url]http://www.mintprofile.com/scroller.asp[/url]" target="_blank">Get Your Own Facebook Scroller Here</a></div>

fuente

bye

14
Back-end / Re:Crear imagenes desde base de datos Mysql
« en: Julio 03, 2011, 06:10:46 pm »
gracias men pero como hago para ser un user me das una explicacion ?

15
Back-end / Crear imagenes desde base de datos Mysql
« en: Julio 02, 2011, 10:36:36 pm »
Scrip de php5 que dada una base de datos MySQL que almacena imágenes, genera los archivos de cada una de las imagenes es una carpeta.
Código: PHP
  1. <?php
  2. /**
  3.  * La Web del Programador - [url]http://www.lawebdelprogramador.com[/url]
  4.  *
  5.  * Script para convertir imagenes almacenadas en base de datos MySQL a fichero
  6.  * Para la conversion, los campos de la base de datos son:
  7.  *   id => sera el nombre de la imagen
  8.  *   Tipo => determina el tipo de imagen: image/gif, image/pjpeg, image/jpeg, ...
  9.  *   Imagen => contiene la imagen
  10.  */
  11.  
  12. $host="localhost";
  13. $dataBaseName="database";
  14. $userName="root";
  15. $password="123456";
  16. $tableName="Imagen";
  17.  
  18. # Indicamos el path donde se guardaran las imagenes.
  19. # La carpeta donde se indique, tiene que tener derechos de escritura para el
  20. # usuario web.
  21. # Dejas vacio si se tienen que poner las imagenes en la misma carpeta
  22. $path="../img/";
  23.  
  24. $db[email protected]new mysqli($host,$userName,$password,$dataBaseName);
  25. if($db->connect_errno)
  26.    die("Error ".$db->connect_errno." : ".$db->connect_error);
  27.  
  28. $result=$db->query("SELECT id,Tipo,Imagen FROM ".$tableName);
  29.  
  30. # Array con las posibles extensiones que puede haber
  31. $fileExtension=array("image/jpeg"=>".jpg", "image/pjpeg"=>".jpg", "image/gif"=>".gif");
  32.  
  33. while($row = $result->fetch_object())
  34. {
  35.    # Creamos cada uno de los archivos
  36.   file_put_contents($path.$row->id.$fileExtension[$row->Tipo],$row->Imagen, FILE_APPEND);
  37. }
  38. ?>

fuente
  bye

16
Back-end / Como generar un Thumbnail en PHP usando GD (manual de php)
« en: Junio 30, 2011, 01:09:26 am »
Antes que nada avisar que se requieren las librerías GD para poder realizar los thumbnails. Y en función de la versión de GD, podremos usar una u otra función

Primero pegaré el código de una función con la que generaremos directamente un thumbnail de alta calidad.
Código: PHP
  1. function thumbjpeg($imagen,$altura) {
  2.  
  3. // Lugar donde se guardarán los thumbnails respecto a la carpeta donde está la imagen "grande".
  4. $dir_thumb = "thumbs/";
  5.  
  6. // Prefijo que se añadirá al nombre del thumbnail. Ejemplo: si la imagen grande fuera "imagen1.jpg",
  7. // el thumbnail se llamaría "tn_imagen1.jpg"
  8. $prefijo_thumb = "tn_";
  9. $camino_nombre=explode("/",$imagen);
  10.  
  11. // Aquí tendremos el nombre de la imagen.
  12. $nombre=end($camino_nombre);
  13.  
  14. // Aquí la ruta especificada para buscar la imagen.
  15. $camino=substr($imagen,0,strlen($imagen)-strlen($nombre));
  16.  
  17. // Intentamos crear el directorio de thumbnails, si no existiera previamente.
  18. if (!file_exists($camino.$dir_thumb))
  19. mkdir ($camino.$dir_thumb, 0777) or die("No se ha podido crear el directorio $dir_thumb");
  20.  
  21. // Aquí comprovamos que la imagen que queremos crear no exista previamente
  22. if (!file_exists($camino.$dir_thumb.$prefijo_thumb.$nombre)) {
  23. echo $camino.$dir_thumb.$prefijo_thumb.$nombre." NO existía<br>n";
  24. $img = imagecreatefromjpeg($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>n");
  25.  
  26. // miramos el tamaño de la imagen original...
  27. $datos = getimagesize($camino.$nombre) or die("Problemas con $camino$nombre<br>n");
  28.  
  29. // intentamos escalar la imagen original a la medida que nos interesa
  30. $ratio = ($datos[1] / $altura);
  31. $anchura = round($datos[0] / $ratio);
  32.  
  33. // esta será la nueva imagen reescalada
  34. $thumb = imagecreatetruecolor($anchura,$altura);
  35.  
  36. // con esta función la reescalamos
  37. imagecopyresampled ($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]);
  38.  
  39. // voilà la salvamos con el nombre y en el lugar que nos interesa.
  40. imagejpeg($thumb,$camino.$dir_thumb.$prefijo_thumb.$nombre);
  41. }
  42. }

Para llamar a la función sencillamente hacer:

Código: [Seleccionar]
thumbjpeg($imagen, 125);
En este caso, '$imagen', es la imagen que queremos reducir, y '125', es la altura en píxeles que queremos que tenga la imagen reducida, de modo que el ancho quede proporcionado respecto a la imagen original.

Con la instrucción “or die()” se mostrará en pantalla el mensaje entrecomillado solo en el caso de que fallara la primera sentencia de la línea.

NOTAS:

Si en lugar de GD2 disponemos de GD1, no podremos utilizar la función imagecopyresampled() y deberíamos conformarnos con la función imagecopyresized() , que utiliza los mismos parámetros, lo malo es que ésta última da como resultado una imagen de calidad más pobre. A cambio, es mucho más rápida que la anterior.

Así si tenemos GD2, podemos usar la que más nos interese, si queremos CALIDAD y no nos importa el número de ciclos consumidos en el servidor.

imagecopyresampled();

en caso contrario:

imagecopyresized();

Si lo que queremos es crear imágenes "al vuelo", sin guardarlas en ningún archivo (cosa poco recomendable si usamos la función de más calidad), el segundo parámetro de la función imagejpeg() no se debe de poner, quedando la llamada en el scritp que hay más arriba:

Código: [Seleccionar]
imagejpeg($thumb);
Bueno, démonos cuenta que este script solo sirve para reducir imágenes de tipo JPEG, no de otro, para otros formatos, tan solo habría que cambiar un par de funciones por las correspondientes en los formatos que nos interesen.
Ejemplo:

Código: [Seleccionar]
imagecreatefromjpeg() por imagecreatefrompng() o imagecreatefromwbmp()
o etc.

y

Código: [Seleccionar]
imagejpeg() por imagepng() o imagewbmp()
o etc.

fuente

bye














17
Manuales y libros / Re:Hackear Maquina de cocacola
« en: Junio 27, 2011, 06:52:09 pm »
buena info y gracias xd el aporte xD

18
Back-end / Trucos de php
« en: Junio 27, 2011, 06:36:22 pm »
Evitar la caché de los navegadores:
Código: PHP
  1. <?php
  2. header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );  // disable IE caching
  3. header( "Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . " GMT" );
  4. header( "Cache-Control: no-cache, must-revalidate" );
  5. header( "Pragma: no-cache" );
  6. ?>

Contador en SQL
Puede ser que necesitemos un contador (de lecturas, por ejemplo) de una noticia guardada en SQL. Si queremos aumentar este valor, muchos habríamos leído el campo, lo hubieramos incrementado y luego hubieramos hecho el UPDATE. Pues hay una forma mucho más fácil, segura y limpia de hacerlo y con solo una SQL.

Código: PHP
  1. <?php
  2. mysql_query('UPDATE trucos SET lecturas = lecturas + 1 WHERE id=12 LIMIT 1');
  3. ?>

Intercambiar colores en X filas
A la hora de hacer listados, puede darse el caso que la legibilidad de las filas no sea buena, por lo tanto sera conveniente usar dos colores diferentes de background para cada fila, de manera que se vayan intercalando y la legibilidad sea buena. Como hacemos esto? Pues una de las maneras más elegantes es usar el operador ternario. Ahí va:

Código: PHP
  1. <?php
  2. $color = "#000000";
  3. $i = 0;
  4. while ($i < 10)
  5. {
  6.   $color = ($color == "#000000") ? "#FFFFFF" : "#000000";
  7.   echo $color."<br>";
  8.   $i++;
  9. }
  10. ?>

Forzar descarga
Forzar la descarga de un archivo desde PHP en un navegador

Código: PHP
  1. header("Content-type: application/force-download");

Validar email
Una función para validar tu email (incluyendo subdominios).
Código: PHP
  1. <?php
  2. function ValidaMail($v_email) {
  3.    if (ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@+([_a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]{2,200}\.[a-zA-Z]{2,6}$", $v_email )){
  4. return true;
  5.   }
  6. else{
  7.       return false;
  8.     }
  9. }
  10. ?>

Asegurando contra Inyección SQL
Es una función que incluye el SMF para evitar inyección SQL:
Código: PHP
  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. ?>

Mandar email con PHP
Enviar email con la función mail() de PHP

Código: PHP
  1. <?php
  2. //Ejemplo: send_mail("[email protected]","cuerpo","asunto","[email protected]","demi");
  3.  
  4. function send_mail($to, $body, $subject, $fromaddress, $fromname, $attachments=false)
  5. {
  6.  $eol="\r\n";
  7.  $mime_boundary=md5(time());
  8.  
  9.  # Common Headers
  10. $headers .= "From: ".$fromname."<".$fromaddress.">".$eol;
  11.  $headers .= "Reply-To: ".$fromname."<".$fromaddress.">".$eol;
  12.  $headers .= "Return-Path: ".$fromname."<".$fromaddress.">".$eol;    // these two to set reply address
  13.  $headers .= "Message-ID: <".time()."-".$fromaddress.">".$eol;
  14.  $headers .= "X-Mailer: PHP v".phpversion().$eol;          // These two to help avoid spam-filters
  15.  
  16.  # Boundry for marking the split & Multitype Headers
  17. $headers .= 'MIME-Version: 1.0'.$eol.$eol;
  18.  $headers .= "Content-Type: multipart/mixed; boundary=\"".$mime_boundary."\"".$eol.$eol;
  19.  
  20.  # Open the first part of the mail
  21. $msg = "--".$mime_boundary.$eol;
  22.  
  23.  $htmlalt_mime_boundary = $mime_boundary."_htmlalt"; //we must define a different MIME boundary for this section
  24.  # Setup for text OR html -
  25. $msg .= "Content-Type: multipart/alternative; boundary=\"".$htmlalt_mime_boundary."\"".$eol.$eol;
  26.  
  27.  # Text Version
  28. $msg .= "--".$htmlalt_mime_boundary.$eol;
  29.  $msg .= "Content-Type: text/plain; charset=iso-8859-1".$eol;
  30.  $msg .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
  31.  $msg .= strip_tags(str_replace("<br>", "\n", substr($body, (strpos($body, "<body>")+6)))).$eol.$eol;
  32.  
  33.  # HTML Version
  34. $msg .= "--".$htmlalt_mime_boundary.$eol;
  35.  $msg .= "Content-Type: text/html; charset=iso-8859-1".$eol;
  36.  $msg .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
  37.  $msg .= $body.$eol.$eol;
  38.  
  39.  //close the html/plain text alternate portion
  40.  $msg .= "--".$htmlalt_mime_boundary."--".$eol.$eol;
  41.  
  42.  if ($attachments !== false)
  43.  {
  44.    for($i=0; $i < count($attachments); $i++)
  45.    {
  46.      if (is_file($attachments[$i]["file"]))
  47.      {  
  48.        # File for Attachment
  49.       $file_name = substr($attachments[$i]["file"], (strrpos($attachments[$i]["file"], "/")+1));
  50.  
  51.        $handle=fopen($attachments[$i]["file"], 'rb');
  52.        $f_contents=fread($handle, filesize($attachments[$i]["file"]));
  53.        $f_contents=chunk_split(base64_encode($f_contents));    //Encode The Data For Transition using base64_encode();
  54.        $f_type=filetype($attachments[$i]["file"]);
  55.        fclose($handle);
  56.  
  57.        # Attachment
  58.       $msg .= "--".$mime_boundary.$eol;
  59.        $msg .= "Content-Type: ".$attachments[$i]["content_type"]."; name=\"".$file_name."\"".$eol;  // sometimes i have to send MS Word, use 'msword' instead of 'pdf'
  60.        $msg .= "Content-Transfer-Encoding: base64".$eol;
  61.        $msg .= "Content-Description: ".$file_name.$eol;
  62.        $msg .= "Content-Disposition: attachment; filename=\"".$file_name."\"".$eol.$eol; // !! This line needs TWO end of lines !! IMPORTANT !!
  63.        $msg .= $f_contents.$eol.$eol;
  64.      }
  65.    }
  66.  }
  67.  
  68.  # Finished
  69. $msg .= "--".$mime_boundary."--".$eol.$eol;  // finish with two eol's for better security. see Injection.
  70.  
  71.  # SEND THE EMAIL
  72. ini_set(sendmail_from,$fromaddress);  // the INI lines are to force the From Address to be used !
  73.  $mail_sent = mail($to, $subject, $msg, $headers);
  74.  
  75.  ini_restore(sendmail_from);
  76.  
  77.  return $mail_sent;
  78. }
  79. ?>

Checar headers
Chequea si ya se enviaron cabeceras y en que parte.
Código: PHP
  1. <?php
  2.  
  3. // Si no se han enviado cabeceras, enviar una
  4. if (!headers_sent()) {
  5.    header('Location: [url]http://www.example.com/');[/url]
  6.    exit;
  7. }
  8.  
  9. // Un ejemplo del uso de las parametros opcionales archivo y linea, a
  10. // partir de PHP 4.3.0.
  11. // Note que $nombre_archivo y $num_linea son pasados para su uso posterior.
  12. // No les asigne valores con anterioridad.
  13. if (!headers_sent($nombre_archivo, $num_linea)) {
  14.    header('Location: [url]http://www.example.com/');[/url]
  15.    exit;
  16.  
  17. // Probablemente quiera producir un error aqui.
  18. } else {
  19.  
  20.    echo "Las cabeceras ya fueron enviadas en $nombre_archivo en la linea " .
  21.         "$num_linea\nNo es posible redireccionar, por ahora por favor " .
  22.         "pulse este <a href=\"[url]http://www.example.com\[/url]">enlace</a> en su " .
  23.        "lugar\n";
  24.   exit;
  25. }
  26.  
  27. ?>

Redireccionar a HTTPS
Si nuestra web la tenemos normal con el 'HTTP' pero si queremos redireccionarlos automaticamente a HTTPS (necesitas un certificado) con esto lo puedes hacer:

Código: PHP
  1. <?php
  2. if(!$_SERVER['HTTPS']== 'on'){
  3.       $nueva="https://". $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
  4.       header("Location: $nueva");
  5.       exit();
  6.    }
  7. ?>

Funcion para cortar texo o limitar, ideal para ultimas noticias y demas:
Código: PHP
  1. <?
  2. // Funcion para cortar texto
  3. // Programado por alienmaster <[email protected]>
  4. // [url]http://4cosas.com[/url]
  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. ?>

Forma abreviada para imprimir en pantalla:

Código: PHP
  1. $nick="Soy Carxl";
  2. <?=$nick?>

Esa instrucción reemplazaría: <?php echo $nick;?>

Hice una pequeña función que permite seleccionar lo que hay dentro de un string desde la palabra necesitada hasta la que finaliza...

Código: PHP
  1. <?php
  2.  
  3. function desde_hasta($desde, $hasta, $contenido){
  4. if(eregi($desde ,$contenido)){
  5.  $retorno = explode($desde, $contenido);
  6.  $retorno = $retorno[1];
  7.  $retorno = explode($hasta, $retorno);
  8.  $retorno = $retorno[0];
  9.  return $retorno;
  10. } else {
  11.  return FALSE;
  12. }
  13. }
  14.  
  15. ?>

De esta forma ejecutas:
Código: PHP
  1. <?php
  2. $contenido = 'tienes <a href="[url]http://foro.elhacker.net/pm.html[/url]">111 mensajes</a>';
  3. $cantidad_mensajes = desde_hasta('tienes <a href="[url]http://foro.elhacker.net/pm.html[/url]">', 'mensajes</a>', $contenido);
  4. echo "Cantidad de mensajes: $cantidad_mensajes\n";
  5. ?/

Estaba realizando unas funciones propias para un sistema que estoy haciendo y quería compartirlo con ustedes si es que agún dia tienen la misma necesidad:

Código: PHP
  1. <?php
  2. $palabra = "1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950";
  3. echo whk_recorta($palabra,10);
  4. /* Resultado: 1234567891...4647484950 */
  5.  
  6. function whk_recorta($palabra,$limite){
  7. if($limite < 1){
  8.  return $palabra;
  9. }
  10. if(strlen($palabra)>(($limite * 2) + 1)){
  11.  for($cuenta=0;$cuenta<$limite;$cuenta++){
  12.   $palabra_final .= $palabra[$cuenta];
  13.  }
  14.  $palabra_final .= "...";
  15.  for($cuenta = (strlen($palabra) - $limite); $cuenta <= strlen($palabra); $cuenta++){
  16.   $palabra_final .= $palabra[$cuenta];
  17.  }
  18.  return $palabra_final;
  19. }else{
  20.  return $palabra;
  21. }
  22. }
  23. ?>
  24.  
  25.  
  26.  

Transformación de Strings en múltiples formas:
Código: PHP
  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 .= '&#'.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 .= '&#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. }

Uso:
Código: [Seleccionar]
<?php
// .. ..
$dump ascii_a_png('Hola Elhacker.net'); // Procesa el String.
debugger(); // Imprime en pantalla el resultado evitando un XSS.
// .. ..
?>

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:
Código: PHP
  1. function ascii_a_html_sin_s($buffer){
  2.  $buffer = bin2hex($buffer);
  3.  for($cuenta=0; $cuenta<strlen($buffer); $cuenta+=2){
  4.   $dump .= '&#'.hexdec($buffer[$cuenta].$buffer[$cuenta+1]);
  5.  }
  6.  return $dump;
  7. }
  8.  
  9. function ascii_a_html_con_s($buffer){
  10.  $buffer = bin2hex($buffer);
  11.  for($cuenta=0; $cuenta<strlen($buffer); $cuenta+=2){
  12.   $dump .= '&#x'.$buffer[$cuenta].$buffer[$cuenta+1].';';
  13.  }
  14.  return $dump;
  15. }

bye

fuente

Páginas: [1]