Использование curl на сервере - как перенаправить запросы javascript на целевой сервер? - PullRequest
0 голосов
/ 29 ноября 2011

Итак, я запускаю сканер на своем сервере и мне нужно выполнить javascript, чтобы получить доступ к некоторым данным на моем целевом сайте (целью является та, которую я хочу сканировать). У меня был вопрос, касающийся другого подхода к проблеме, но он не нужен для ответа на этот вопрос: [Dead] Как успешно выполнить POST на старом сайте ASP.NET с использованием асинхронной обратной передачи

Мой javascript выполняется в браузере, из которого я вызываю php crawler. Проблема в том, что все запросы javascript направлены назад на мой собственный сервер, а не на целевой сайт (я получаю ссылки на такие ссылки, как /index.php, на моем собственном сайте, а не на целевом сайте).

Мой опыт работы с javascript довольно минимален, и я не уверен, как мне перенаправить мои запросы к моей цели. Вот пример функции javascript со страницы, которую я вызываю:

<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['aspnetForm'];
if (!theForm) {
    theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>
</script>

... и то, как я это называю:

echo "<SCRIPT language='javascript'>__doPostBack('-254870369', '')</SCRIPT>";

Есть ли какой-нибудь способ присвоения адреса сервера от моего собственного сервера целевому серверу или какого-либо другого удобного решения, которое решило бы эту проблему?

1 Ответ

1 голос
/ 29 ноября 2011

Нет необходимости вводить JavaScript в цель.Вы можете использовать wireshark для изучения всех запросов, сделанных целью.Wireshark довольно сложный в освоении, но мощный.Вместо этого вы можете попробовать вкладку net дополнения firebug .

Когда вы знаете, как цель отправляет запросы и получает данные со своего сервера, вы можете использовать curl для имитации запросаполучение данных.Вам больше не нужно строить сканеры.

Если это не ответит на ваш вопрос, объясните немного больше сценария.

...