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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Acortador de links!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Acortador de links!  (Leído 4,146 veces)
Castg!
Wiki

Desconectado Desconectado

Mensajes: 1.191



Ver Perfil WWW
Acortador de links!
« en: 19 Febrero 2010, 23:15 pm »

bueno, me decidi a postear el codigo de un acortador de links que hice hace poco. tuve problemas con el dominio pero ya se terminaron los tramites. el resto de la web esta en pleno desarrollo xD! pero bueno. para usarlo pueden entrar al link: http://castg.com.ar/tiny osea, para ser un acortador es un toq grande el dominio xD pero esta bueno para las sqli o para poner por ejemplo post de elhacker en el subnick del msn xD! jejejej bueno. pero ademas de poner mi link, les dejo el codigo fuente:
[les aviso que es re simple, puede tener vulnerabilidades, igual con janito24 ya andubimos probando algo, pero les agradeceria que me pongan otras mas que encuentren. si encuentran algo como para hacer flood ¬¬ como janito  >:( tengan encuenta que no es un servidor en mi pc, asi que se las arreglan con el host, igualmente es gratiutio!!!]

insert.php (ingresa la direccion a la base de datos, si ya existe, devuelve la clave de la misma) tambien guarda la ip y el dia con la hora... [para el flood xD!]
Código
  1. <?php
  2. $ref=$_SERVER["HTTP_REFERER"];
  3. $svn=$_SERVER['SERVER_NAME'];
  4. if(!preg_match("/^(http:\/\/((www\.)?$svn))/", $ref)){
  5. echo chr(172).chr(172);
  6. exit();
  7. }
  8. if(isset($_GET['uri_p']) && $_GET['uri_p']!=""){
  9. $uri_p = $_REQUEST['uri_p'];
  10. if(!preg_match("/^(ht|f)tp(s)?:\/\//", $uri_p)){
  11. $uri_p = "http://".$uri_p;
  12. }
  13. require('func.php');
  14. $mysql = mysql_connect("host","user","pass");
  15. mysql_select_db("basededatos", $mysql);
  16. $nodupli = mysql_query("SELECT * FROM datos WHERE url='".urlencode($uri_p)."'", $mysql);
  17. if(mysql_num_rows($nodupli)!=0){
  18. $resultado_nd=mysql_fetch_array($nodupli);
  19. $nuevadir="http://".$_SERVER["SERVER_NAME"].str_replace("insert.php","",$_SERVER["PHP_SELF"]).$resultado_nd['token'];
  20. echo $nuevadir;
  21. }else{
  22. $token_f=clave();
  23. $nodupli = mysql_query("SELECT * FROM datos WHERE token='$token_f'");
  24. while(mysql_num_rows($nodupli)!=0){
  25. $token_f=clave();
  26. $nodupli = mysql_query("SELECT * FROM datos WHERE token='$token_f'");
  27. }
  28. mysql_query("INSERT INTO datos (url,token,ip,date) VALUES ('".urlencode($uri_p)."','$token_f','".$_SERVER['REMOTE_ADDR']."','".date("j \d\e\l n \d\e Y \a \l\a\s h:i:s")."')", $mysql);
  29. $nuevadir="http://".$_SERVER["SERVER_NAME"].str_replace("insert.php","",$_SERVER["PHP_SELF"]).$token_f;
  30. echo $nuevadir;
  31. }
  32. }else{
  33. echo "Ingresa la direccion";
  34. }
  35. ?>
  36.  

index.php (el ajax que utilizo es uno que encontre por ahi :p ami en firefox me anda bien, no probe en otros navegadores... si tienen un mejor metodo aca toy :P)
Código
  1. <?php
  2. $pag = "
  3. <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
  4. <html>
  5. <head>
  6. <title>Castg! - Anonimizador de links</title>
  7. <link href=\"style.css\" rel=\"stylesheet\" type=\"text/css\" />
  8. <script type=\"text/javascript\">
  9. function insertar(url){
  10.     div_result = document.getElementById('result');
  11.     peti=getXMLHttp();  
  12.     peti.open(\"GET\", \"insert.php?uri_p=\"+url);  
  13.     peti.onreadystatechange=function() {  
  14.        if (peti.readyState==4) {
  15. //saco la ***** de publicidad
  16.            if(peti.responseText.split(\"\\n\")){
  17.                resultado=peti.responseText.split(\"\\n\");
  18.            div_result.value = resultado[0];
  19.            }else{
  20.            div_result.value = peti.responseText;
  21.            }
  22.        }  
  23.    }  
  24.    peti.send(null);  
  25. }
  26. function  getXMLHttp()
  27. {
  28.  var xmlHttp
  29.  
  30.  try
  31.  {
  32.    //Firefox, Opera 8.0+, Safari
  33.    xmlHttp = new XMLHttpRequest();
  34.  }
  35.  catch(e)
  36.  {
  37.    //Internet Explorer
  38.    try
  39.    {
  40.      xmlHttp = new ActiveXObject(\"Msxml2.XMLHTTP\");
  41.    }
  42.    catch(e)
  43.    {
  44.      try
  45.      {
  46.        xmlHttp = new ActiveXObject(\"Microsoft.XMLHTTP\");
  47.      }
  48.      catch(e)
  49.      {
  50.        alert(\"Your browser does not support AJAX!\")
  51.        return false;
  52.      }
  53.    }
  54.  }
  55.  return xmlHttp;
  56. }
  57. </script>
  58. </head>
  59. <body>
  60. <div id=\"on\">
  61. <input type=\"text\" name=\"uri_p\" id=\"uri_p\" value=\"Ingresa la direccion\" autocomplete=\"off\" onFocus=\"if(this.value=='Ingresa la direccion'){this.value='';}\" style=\"background-color: #FFFFFF; font-size:10pt; color:#2F2F7B;\">
  62. <input type=\"button\" onclick=\"insertar(document.getElementById('uri_p').value)\" value=\"Anonimizar!\">
  63. <div>
  64. <br/>
  65. <p><span class=\"Estilo1\">Tinycastg:
  66.  </span><input name=\"result\" type=\"text\" id=\"result\" onClick=\"if(this.value!=''){this.select();}\" style=\"background-color: #CCCCCC; font-size:10pt; color: #222299;\" readonly=\"readonly\" >
  67. </div>
  68. </div>
  69. </body>
  70. </html>
  71. ";
  72. if(!isset($_GET['t'])){
  73. echo $pag;
  74. }else{
  75. $mysql = mysql_connect("host","user","pass");
  76. mysql_select_db("basededatos", $mysql);
  77. $url = mysql_query("SELECT * FROM datos WHERE token='".$_GET['t']."'");
  78. if(mysql_num_rows($url)!=0){
  79. $url = mysql_fetch_array($url);
  80. header("Location: ".urldecode($url['url']));
  81. }else{
  82. echo $pag;
  83. }
  84. }
  85. ?>
  86.  

func.php (hay una sola funcion xD pero no tenia ganas de cambiar todo el code. estuve buscando alguna encriptacion corta de unos 7 u 8 caracteres peo no encontre. asi que se me ocurrio esta forma para poder elegir la cantidad de caracteres que quiera...)

Código
  1. <?php
  2. function clave(){
  3. $chars='7539846210qazwsxedcrfvtgbyhnu7539846210jmikolpPOIUYTREWQALKJHGFDSMNBVCXZ';
  4. $l_chars=strlen($chars);
  5. $l_max=8;
  6. $clave='';
  7. for($i=0;$i<$l_max;$i++){
  8. $l_rand=rand(1,$l_chars);
  9. $clave .= substr($chars,$l_rand,1);
  10. }
  11. return $clave;
  12. }
  13. ?>
  14.  

los estilos quedan a gusto propio.. les dejo tambien por ultimo el .htaccess. esta colocado en el mismo directorio que los archivos...

Código
  1. RewriteCond %{REQUEST_FILENAME} !-f
  2. RewriteCond %{REQUEST_FILENAME} !-d
  3. #estos dos comprueban que no sean ni archivos ni directorios... lo demas ya se sabe...
  4. RewriteEngine on
  5. RewriteBase /tiny
  6. RewriteRule ^(.*) index.php?t=$1
  7. #reescribe xD, toma los datos por expresion regular y los pasa a la otra cadena (como preg_replace)


bueno, este es mi codigo. pronto estara la gran firma que te dice todos tus datos :D:D te va a decir los datos tuyos del foro y otras cosas mas :D:D: jejejje >:D

un saludo grande a todos y espero que les sea util para algo ...


En línea

KrossPock

Desconectado Desconectado

Mensajes: 208



Ver Perfil
Re: Acortador de links!
« Respuesta #1 en: 20 Febrero 2010, 04:23 am »

Esta bueno...  ya me va a servir algun dia  >:D :P


En línea


fede_cp


Desconectado Desconectado

Mensajes: 527


"porque pensar nunca fue entender"


Ver Perfil WWW
Re: Acortador de links!
« Respuesta #2 en: 20 Febrero 2010, 15:56 pm »

Quedo bueno el script!, los scripts mejor dicho, lo unico que cambiaria seria el seleccionado con ajax, me parece muy largo codigo para una funcion como esas.


saludos!
En línea

somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!
Castg!
Wiki

Desconectado Desconectado

Mensajes: 1.191



Ver Perfil WWW
Re: Acortador de links!
« Respuesta #3 en: 20 Febrero 2010, 18:40 pm »

osea, por ahora no aprendi ajax xD! eso es un codigo generico de por internet, y es largo por la compatibilidad de los navegadores.-...
En línea

fede_cp


Desconectado Desconectado

Mensajes: 527


"porque pensar nunca fue entender"


Ver Perfil WWW
Re: Acortador de links!
« Respuesta #4 en: 20 Febrero 2010, 19:27 pm »

jaja, claro lo que decia es que no es necesariamente en ajax, en javascript seguro que se puede

compatibilidad de navegadores != microsoft internet explorer


saludos!
En línea

somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!
Castg!
Wiki

Desconectado Desconectado

Mensajes: 1.191



Ver Perfil WWW
Re: Acortador de links!
« Respuesta #5 en: 20 Febrero 2010, 19:59 pm »

no te entiendo lo que queres decir :-\
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[NUEVO][ACTUALIZADO]Proyecto acabado!! - Acortador de links « 1 2 »
Desarrollo Web
Cochambroso 13 7,668 Último mensaje 1 Diciembre 2011, 11:03 am
por Cochambroso
Bit.ly, de un acortador de enlaces a un servicio para guardar tus favoritos
Noticias
wolfbcn 1 1,883 Último mensaje 30 Mayo 2012, 09:11 am
por SCU
Acortador de URLs nuevo: src.mx
Foro Libre
Diabliyo 6 2,731 Último mensaje 7 Abril 2015, 23:24 pm
por scott_
Acortador de enlaces.
Dudas Generales
user-marcos 5 2,554 Último mensaje 1 Enero 2016, 00:17 am
por user-marcos
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines