PHP продолжить скручивать скрипт входа в браузер - PullRequest
0 голосов
/ 08 декабря 2018

У меня есть скрипт PHP для входа в систему для стороннего веб-сайта, который работает как шарм!

$cookie="cookie.txt"; 
$url="https://example.com"; 

$ch = curl_init(); 
curl_setopt ($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"); 
curl_setopt ($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); 
curl_setopt ($ch, CURLOPT_REFERER, $url); 


$postdata = "subUserId=&loginId=".$username."&password=".$password."&go=&__FORM_ID=";
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata); 
curl_setopt ($ch, CURLOPT_POST, 1); 

$result = curl_exec ($ch);
echo $result;

Если я запускаю этот скрипт, $ result содержит область пользователя этого сайта.Проблема в том, что я хочу продолжить сеанс моего PHP-скрипта внутри моего браузера.Я не могу нажать на элемент, потому что хост сайта заменяется моим хостом.например, «https://example.com/email" is now» http://localhost:8080/email". Если я открываю веб-страницу вручную, я не захожу в систему, поскольку сеанс сохраняется для моего локального сценария php, а не для веб-сайта назначения.

Есть ли способ передать сеанс в мой браузер?Возможно, можно "позволить браузеру думать", что он включен "https://example.com", вместо" http://localhost:8080",, чтобы переменные сеанса сохранялись по правильному URL.

Я хочу толькоиспользовать этот скрипт для входа в систему, а не для выполнения каких-либо действий на целевом веб-сайте.

Заранее спасибо!

1 Ответ

0 голосов
/ 09 декабря 2018

Я смог решить свою проблему с помощью обходного пути.

Я только что создал html-форму с URL-адресом третьей стороны в качестве цели.Мои учетные данные передаются как скрытые переменные.Затем я добавил короткий код Javascript, который нажимает кнопку «отправить», как только страница загружается.Изменить: не используйте это на общедоступном веб-сайте, потому что ваши учетные данные хранятся видимыми внутри исходного кода.

<script>
window.onload = function() {
  document.getElementById('submit').click();
};
</script>


<form action="https://example.com/login"  method="post">
  <input type="hidden" id="subUserId" name="subUserId" value="">
  <input type="hidden" id="loginId" name="loginId" value="<?php echo $username ?>">
  <input type="hidden" id="password" name="password" value="<?php echo $password ?>">
  <input type="hidden" id="go" name="go" value="">
  <input type="hidden" id="__FORM_ID" name="__FORM_ID" value="">

  <input type="submit" id="submit" value="OK">
</form> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...