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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  [Reto] Bot en PHP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 4 5 Ir Abajo Respuesta Imprimir
Autor Tema: [Reto] Bot en PHP  (Leído 20,380 veces)
lnvisible


Desconectado Desconectado

Mensajes: 527



Ver Perfil
[Reto] Bot en PHP
« en: 16 Septiembre 2011, 00:38 am »

Hay un tipo de desafíos que se ven en las películas, con los músicos (o raperos, que son músicos de la voz) entran en un pique, uno hace algo y el otro tiene que hacerlo y luego superarlo. También los hay que lo hacen con mates de valoncesto y otras cosas.

Esto es un reto a ese estilo, consiste en ir añadiendo algo al bot para hacerlo más parecido a una persona en la navegación (con cookies, con referer, con todo eso), además para que sea más fácil indicarle los parámetros que tiene que rellenar (por ejemplo muchos formularios tienen campos hidden, podría rellenarlos él mismo), para que sea más fácil parsear el html después, para que sea más fácil usar proxies... el límite lo pone vuestra imaginación.

Creo que puede ser un reto interesante, entretenido, productivo y del que todos saquemos el divertirnos, un código interesante y aprender y hacer algo útil. Vosotros diréis.

Esto ha venido inspirado por este mensaje:

Y lo que yo digo es que si entre todos juntamos un poquito que aporte cada uno lo podemos hacer mucho mejor.

Por ejemplo, lo que has hecho madpitbull quedaría así:

Código
  1. <?php
  2. class PHPBot {
  3.  
  4.    private $ch;
  5.  
  6.    function __construct() {
  7.      $this->ch = curl_init();
  8.      curl_setopt ($this->ch, CURLOPT_COOKIEJAR, 'cookie.txt');
  9.      curl_setopt ($this->ch, CURLOPT_RETURNTRANSFER, 1);
  10.    }
  11.    public function getURL(url, args) {
  12.      curl_setopt($this->ch, CURLOPT_URL, url);
  13.      if (args){
  14.        curl_setopt ($this->ch, CURLOPT_POSTFIELDS, funcionquenoexistetodavia(args);
  15.        curl_setopt ($this->ch, CURLOPT_POST, 1);
  16.      }
  17.      return curl_exec($this->ch);
  18.    }
  19.    function __destruct() {
  20.       curl_close ($this->ch);
  21.    }
  22. }
  23. ?>

Pero para hacer un buen bot todavía queda mucho.

También intuyo que habrá mejores formas que curl, no parece estándar de php.


En línea

lnvisible


Desconectado Desconectado

Mensajes: 527



Ver Perfil
Re: [Reto] Bot en PHP
« Respuesta #1 en: 17 Septiembre 2011, 00:37 am »

Gracias WHK! http://foro.elhacker.net/php/postear_en_foro_con_php-t338961.0.html;msg1663900#msg1663900

Código
  1. <?php
  2. class PHPBot {
  3.  
  4.    private $ch;
  5.  
  6.    function __construct() {
  7.      $this->ch = curl_init();
  8.      curl_setopt ($this->ch, CURLOPT_COOKIEJAR, 'cookie.txt');
  9.      curl_setopt ($this->ch, CURLOPT_RETURNTRANSFER, 1);
  10.    }
  11.    private function encodeArgs($args, $separator = "&", $start = "?"){
  12.      $r = "$start"
  13.      foreach($array as $key => $value)
  14.        $r += "$key=$value$separator";
  15.      return $r;
  16.    }
  17.    public function getURL($url, $args = false) {
  18.      curl_setopt($this->ch, CURLOPT_URL, $url);
  19.      if ($args){
  20.        curl_setopt ($this->ch, CURLOPT_POSTFIELDS, encodeArgs($args);
  21.        curl_setopt ($this->ch, CURLOPT_POST, 1);
  22.      }
  23.      return curl_exec($this->ch);
  24.    }
  25.    function __destruct() {
  26.       curl_close ($this->ch);
  27.    }
  28. }
  29. ?>

Lo he mejorado un poco, porque esto sólo está bien si poco a poco se va mejorando, si se hace de golpe es cansado y aburrido. No he mirado si funciona. Quien quiera colaborar puede hacer eso, o mejorarlo, el post de WHK tiene muchas cosas interesantes que ahora no entiendo.

Si veo que a nadie le importa sigo yo sola y me lo quedo para mí  :¬¬ no lo pongo más en el foro y chincha rabiña para todos, o no lo hago, igualmente ya tengo uno en python...

Aunque es interesante tenerlo en otros lenguajes porque es más fácil encontrar un hosting. Con javascript ya ni siquiera hace falta hosting :D


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: [Reto] Bot en PHP
« Respuesta #2 en: 17 Septiembre 2011, 00:41 am »

javascript? WTF!
En línea

Te vendería mi talento por poder dormir tranquilo.
madpitbull_99
Colaborador
***
Desconectado Desconectado

Mensajes: 1.911



Ver Perfil WWW
Re: [Reto] Bot en PHP
« Respuesta #3 en: 17 Septiembre 2011, 11:13 am »

Citar
javascript? WTF!

Supongo que usa xmlhttprequest (Ajax) o algún framework como JQuery, para enviar los datos al formulario.

Con Node.js también se podría hacer desde javascript.

En línea



«Si quieres la paz prepárate para la guerra» Flavius Vegetius

[Taller]Instalación/Configuración y Teoría de Servicios en Red
lnvisible


Desconectado Desconectado

Mensajes: 527



Ver Perfil
Re: [Reto] Bot en PHP
« Respuesta #4 en: 28 Septiembre 2011, 16:37 pm »

Lo he estado pensando y no se que es mejor, si php o javascript. :-X

Una posible aplicación sería poner en una página (cada uno en la suya) un captcha, para saltarse el captcha de otra, además de controlar el acceso (que es para lo que sirve un captcha) (dependiendo de si se consigue pasar el otro captcha). He pensado que con php podría ser intertesante,  pero con javascriopt... ¿puede que fuera mejor? :¬¬ No estoy segura de qué es lo qeu seria más interesante o util. Las dos opciones me parecen buenas. ;)

Puede que esto no sea un reto, sino un proyecto, ¿no os interesaría participar?   :rolleyes: Yo creo que puede ser interesante, y puedo sacar ratos para hacer algo, sobre todo en vacaciones de navidades  ;) y estoy segura de que sería útil para muchos, no es tiempo perdido, y entre todos podemos hacerlo más y mejor. ;-)

Sin duda puede ser util para todos un bot así, ¿cómo se hace para propoer proyectos?  :huh: Yo creo que una propuesta como este reto sería lo más divertido para todos, más qu ehacer un diseño grande y todo eso, que casi parece que hay que hacerlo con traje y corbata  :P pero no se que piensa el resto de la gente  :-\

En javascript además se puede correr con node.js. ¿no es genial?  ;D
En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: [Reto] Bot en PHP
« Respuesta #5 en: 29 Septiembre 2011, 17:58 pm »

No puedes comparar de esa forma PHP y javascript, tienen distinto objetivos.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
lnvisible


Desconectado Desconectado

Mensajes: 527



Ver Perfil
Re: [Reto] Bot en PHP
« Respuesta #6 en: 30 Septiembre 2011, 17:47 pm »

No puedes comparar de esa forma PHP y javascript, tienen distinto objetivos.

¿Ah no? Si el objetivo es hacer un bot, ¿por qué no puedo comparar así cuál de los dos lenguajes es mejor para ese objetivo en particular?
En línea

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

Mensajes: 5.110


Ver Perfil WWW
Re: [Reto] Bot en PHP
« Respuesta #7 en: 30 Septiembre 2011, 20:05 pm »

mmm define "bot" porque para crear inteligencia artificial necesitas algo más q PHP. Dicho lenguaje está más enfocado para el funcionamiento web desde páginas muy simples hasta ERP o CRM muuuuy robustos, pero siempre dependerá de un servidor, OS, etc...

Por cierto, JS (javascript) no es AJAX...

Saludos
En línea

lnvisible


Desconectado Desconectado

Mensajes: 527



Ver Perfil
Re: [Reto] Bot en PHP
« Respuesta #8 en: 30 Septiembre 2011, 21:06 pm »

Lo he estado pensando y no se que es mejor, si php o javascript. :-X

Una posible aplicación sería poner en una página (cada uno en la suya) un captcha, para saltarse el captcha de otra, además de controlar el acceso (que es para lo que sirve un captcha) (dependiendo de si se consigue pasar el otro captcha). He pensado que con php podría ser intertesante,  pero con javascriopt... ¿puede que fuera mejor? :¬¬ No estoy segura de qué es lo qeu seria más interesante o util. Las dos opciones me parecen buenas. ;)

...

Sin duda puede ser util para todos un bot así, ¿cómo se hace para propoer proyectos?  :huh: Yo creo que una propuesta como este reto sería lo más divertido para todos, más qu ehacer un diseño grande y todo eso, que casi parece que hay que hacerlo con traje y corbata  :P pero no se que piensa el resto de la gente  :-\

En javascript además se puede correr con node.js. ¿no es genial?  ;D

Además se puede crear inteligencia artificial en php,  >:(

¿es que nadie entiende lo que digo o qué?  >:(
« Última modificación: 30 Septiembre 2011, 21:08 pm por lnvisible » En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: [Reto] Bot en PHP
« Respuesta #9 en: 1 Octubre 2011, 00:16 am »

Igual, los navegadores no permiten peticione entre dominios con javascript.

PHP es lo ideal para esto.

Tendrás un mejor rendimiento, no dependes del navegador ni de sus configuraciones y muchas mas ventajas para este tipo de objetivos.


Tienes que estudiar los objetivos y conceptos de los dos lenguajes, porque andas perdido.
« Última modificación: 1 Octubre 2011, 00:21 am por ~ Yoya ~ » En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
Páginas: [1] 2 3 4 5 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Reto ;)
Ingeniería Inversa
NeoKiller 3 3,234 Último mensaje 15 Agosto 2004, 23:12 pm
por NeoKiller
Reto!!
Ingeniería Inversa
HaCkZaTaN 2 3,249 Último mensaje 10 Septiembre 2004, 09:30 am
por Ðevastador
Reto vB
Ingeniería Inversa
nhouse 2 3,738 Último mensaje 16 Marzo 2005, 09:41 am
por 4rS3NI(
reto en VB6
Ingeniería Inversa
ellolo 1 2,844 Último mensaje 15 Abril 2005, 10:03 am
por UnpaCker!
Un reto !!! « 1 2 3 »
Programación Visual Basic
VirucKingX 24 9,337 Último mensaje 8 Mayo 2006, 23:36 pm
por Kizar
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines