Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

eduardo-leoni

Botão e usar o form.submit();

Recommended Posts

Olá, estou desenvolvendo um script para me logar em um site automaticamente, sem precisar utilizar o login bar do site.

 

Para isso fiz um remake do formulário de login original e deixei os campos login e senha com os values sendo minha senha e meu login já preenchidos.

 

Funciona perfeitamente, ao apertar no botão, ele loga no site.

 

 

Mas como o que eu quero é logar automaticamente, botei no Body onLoad uma função form1.submit();

Ele envia os dados para o site, mas o login não se sucede e nenhuma mensagem de erro é exibida, alguém tem alguma idéia do motivo?

 

Desde já obrigado :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, espera. Eu tenho uma solução melhor para você.

Coloque as 2 variáveis em $_SESSION utilizando o PHP ai vem uma condição...

 

if($_SESSION['usuario'] && $_SESSION['senha']){
// Redireciona sozinho
header("blabla.php");

} else {

return false;

}

 

Se não souber PHP, me passe o código que eu te ensino, é melhor. Porque se os dados dele estiverem já na memória cache do Servidor, ele ja redireciona sozinho.

 

Bom, qualquer coisa, tamos ai.

 

------

 

Sobre a sua pergunta acima. Eu acho que é porque quando você utiliza o Botão *submit* ele envia os dados diretamente para o seu servidor, dai você passa o valor para as variáveis globais do PHP /caso você esteja usando

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi, na realidade a minha especialidade é PHP.

 

Mas acho que você não entendeu a dúvida, o servidor que quero logar não é meu.

 

O que eu estou fazendo é logar no sistema alheio, ou seja, eu clonei o formulário deles, e envio os dados para o mesmo action do form deles. Compreende?

Compartilhar este post


Link para o post
Compartilhar em outros sites
eu clonei o formulário deles, e envio os dados para o mesmo action do form deles.

sugiro fazer essa interação com cURL, inteirinha do lado php.

 

tecnicamente não tem nenhuma diferença entre o usuario clicar no type="submit" e você forçar um .submit();

contanto que os dados estejão corretos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é, já pesquisei por toda parte e aparentemente realmente não há diferença.

Talvez eu esteja sendo bloqueado de alguma forma ao usar isso de forma automática, não sei.

 

Pode me dar uma explicação melhor do CURL?

Pois eu não estou conseguindo passar dados de post via curl nem pra mim mesmo. Ele permanece estático na página original, é como se não estivesse enviando

CURL precisa instalar no php?

Segue o código que usei pra fazer o CURL:

 

 

<?php
class Post2Url
{
private $url = "";
private $cUrl;
private $reponse = "";
private $timeout = 5;
private $params = array();

   function __construct($url)
   {
       $this->setUrl ( $url );
       $this->initCurl();
   }

   public function getTimeout()
   {
       return $this->timeout;
   }

   public function setTimeout($timeout)
   {
       $this->timeout = $timeout;
   }

   private function initCurl()
   {
       $this->setCUrl ( curl_init () );
       curl_setopt ( $this->getCUrl (), CURLOPT_URL, $this->getUrl () );
       curl_setopt ( $this->getCUrl (), CURLOPT_RETURNTRANSFER, 1 );
       curl_setopt ( $this->getCUrl (), CURLOPT_CONNECTTIMEOUT, $this->getTimeout () );
   }

   public function getParams()
   {
       return $this->params;
   }

   public function addParam($paramName,$ParamValue)
   {
       $this->params[$paramName] = $ParamValue;
   }

   public function sendData()
   {
       curl_setopt($this->getCUrl(), CURLOPT_POSTFIELDS, $this->params);
       return curl_exec($this->getCUrl());
   }
   public function getCUrl()
   {
       return $this->cUrl;
   }

   public function getReponse()
   {
       return $this->reponse;
   }

   public function getUrl()
   {
       return $this->url;
   }

   public function setCUrl($cUrl)
   {
       $this->cUrl = $cUrl;
   }

   public function setReponse($reponse)
   {
       $this->reponse = $reponse;
   }

   public function setUrl($url)
   {
       $this->url = $url;
   }
}





$teste = new Post2Url("post2url_10.php");

//Adiciona o parâmetro login com valor lucas
$teste->addParam("login","lucas");
$teste->addParam("pass","teste");

echo $teste->sendData();

?>

 

 

E na outra página...

$login = $_POST['login'];

$pass = $_POST['pass'];

 

 

echo "$login, $pass";

 

E não retorna nada! :X

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode me dar uma explicação melhor do CURL?

melhor você perguntar no forum de php.

 

CURL precisa instalar no php?

sim, precisa ser habilitado.

 

Segue o código que usei pra fazer o CURL:

deu algum erro ? qual ?

 

 

 

se tiver duvidas com o cURL pergunte no forum de php.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não deu erro, simplesmente não retorna nada, nem avança de página;

 

Ok, vou lá no fórum de PHP perguntar.

 

Mas se alguém puder me dar soluções em JavaScript ou responder minha pergunta inicial eu ainda agradeço.

 

Obrigado a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.