Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Загружаем себе чужой сайт, есть способы? (https://javascript.ru/forum/misc/2541-zagruzhaem-sebe-chuzhojj-sajjt-est-sposoby.html)

sshz 12.01.2009 19:01

Загружаем себе чужой сайт, есть способы?
 
Суть проблемы, есть удаленный сайт, например vasya.ru с которого нужно получить текст
Варианты решения:
1 Сделать запрос на php
Не получилось. Vasya.ru устанавливает куки при помощи js и когда видит что js не отпработал, вместо сайта пишет "включите javascript".
Я так понимаю обойти такую проверку, если она грамотно сделана - почти нереально?

Из этого сделал вывод, что нужно каким то образом, все таки открывать сайт в браузере пользователя.

2. Ajax запрос c моего сайта на vasya.ru.
Не получилось. Ajax запросы можно делать только на страницы своего сайта. Обойти я так понимаю вобще нереально?

3. Загрузить vasya.ru в iframe и получить из него содержимое при помощи js
Не получилось. Js получает содержимое только если в iframe страница своего же сайта, тоже похоже защита от XSS.

Вобщем не могу найти решения, хотя задача с виду простая, загрузить пользователю моего сайта, сайт vasya.ru и получить из него содержимое в мой яваскрипт. Может быть все таки есть решение?


И офтопик. Если так просто определить скрипт это или человек зашел на сайт(просто проверив работает ли у него javascript), почему везде ставят капчи?

Kolyaj 12.01.2009 19:07

Цитата:

Сообщение от sshz
загрузить пользователю моего сайта, сайт vasya.ru

Ссылку на сайт ему дай, он сам загрузит.

ZoNT 12.01.2009 19:08

проверить работает ли джаваскрипт можно, но что потом? Потом надо серверу сказать, что он работает, так? Так вот посмотри, что шлёт джаваскрипт обратно серверу после проверки работоспособности и отсылай то же самое средствами ПХП.

sshz 12.01.2009 19:18

Цитата:

Сообщение от ZoNT (Сообщение 10609)
проверить работает ли джаваскрипт можно, но что потом? Потом надо серверу сказать, что он работает, так? Так вот посмотри, что шлёт джаваскрипт обратно серверу после проверки работоспособности и отсылай то же самое средствами ПХП.

Он шлет какой-то сгенерированный куки вида 60767B17-9386-42ae-BBA9-D1BCA9E8837B, есть предложения?

sshz 12.01.2009 19:55

Цитата:

Сообщение от Kolyaj (Сообщение 10608)
Ссылку на сайт ему дай, он сам загрузит.

Это вариант я знаю, не подходит.

Gvozd 12.01.2009 20:39

есть либы на ПХП эмылирующие работу браузера на разных уровнях.
например Snoopy позволяет подделывать большинство заголовков+ частично эмулирует кукисы.проект местами недоработанный.
видел еще один проект на ПХП, позволяющий эмулировать работу JS.но вроде он корявый, но для простейших(малосвязанных с DOM-ом, ВОМ-ом, и прочими некросбраузерными или емкими вещами) задач, думаю сойдет.
поищите, дкмаю найдете быстро.
еще как вариант примениить мозг.то естьвыяснить, как скрипт генерит тот кук, что вы написали....разобравшись в коде естсно.или кого-то нанять для этого
средствами же только JS ваша задача не решаема.

sshz 12.01.2009 20:50

Цитата:

Сообщение от Gvozd (Сообщение 10617)
есть либы на ПХП эмылирующие работу браузера на разных уровнях.
например Snoopy позволяет подделывать большинство заголовков+ частично эмулирует кукисы.проект местами недоработанный.
видел еще один проект на ПХП, позволяющий эмулировать работу JS.но вроде он корявый, но для простейших(малосвязанных с DOM-ом, ВОМ-ом, и прочими некросбраузерными или емкими вещами) задач, думаю сойдет.
поищите, дкмаю найдете быстро.
еще как вариант примениить мозг.то естьвыяснить, как скрипт генерит тот кук, что вы написали....разобравшись в коде естсно.или кого-то нанять для этого
средствами же только JS ваша задача не решаема.

Спасибо, вариант, буду пробовать. А на счет разобраться как скрипт генерит куки, я так понимаю вероятность 90%, что раз такой защитный механизм сделали, то уж и позаботились о том что бы нельзя было имитировать их механизм генерации кук.

Kolyaj 12.01.2009 21:07

sshz,
если куки ставит php, то их можно просто принять, если ставит JavaScript, то можно посмотреть скрипт. В чем проблема-то?

sshz 12.01.2009 21:40

Цитата:

Сообщение от Kolyaj (Сообщение 10619)
sshz,
если куки ставит php, то их можно просто принять, если ставит JavaScript, то можно посмотреть скрипт. В чем проблема-то?

php может, например, генерировать javascript который уже ставит куки, в php можно нагенерировать какую угожно сложную куку и посмотреть как она генерируется будет негде.

В моем случа видимо так и есть, потому что в html только
<script type="text/javascript">
if (document.cookie && document.cookie != "") {
document.cookie = "60767B17-9386-42ae-BBA9-D1BCA9E8837B=Checked; expires=Mon, 12-Jan-2009 18:41:04 GMT; path=/";
location.reload(true);
}
else
document.write("Этот сайт требует поддержки технологии Cookies.");
</script>

alekciy 12.01.2009 21:44

cURL вам в помоещь, товарисчи ;)

Кроме того надеюсь стартопик помнит/знает, что HTTP протокол является текстовым. Он элементарно снифиться и генерируется. В данном случае придется просто потратить время на понятие алгоритма работы сайта.

Kolyaj 12.01.2009 21:52

Цитата:

Сообщение от sshz
document.cookie = "60767B17-9386-42ae-BBA9-D1BCA9E8837B=Checked; expires=Mon, 12-Jan-2009 18:41:04 GMT; path=/";

Вы отсюда куку выдернуть не можете?

sshz 12.01.2009 22:04

alekciy,
При чем тут вобще cURL?

Объясняю как сделать так что бы скрипт не попал на сайт.

$cookie = time() * $rand(423534, 324142342);
setcookie("access", $cookie);


яваскрипт усановил клиенту куки например 137317215900344964771200078 или 179422747920839987974806

ну что, сможете при помощи cURL и HTTP снифера определить какие нужно генерировать куки? И это простейший пример.

sshz 12.01.2009 22:06

Цитата:

Сообщение от Kolyaj (Сообщение 10623)
Вы отсюда куку выдернуть не можете?

Мне на нее молится, что бы она никогда не менялась?

Kolyaj 12.01.2009 22:25

Дернуть страницу первый раз, вырезать оттуда куку, дернуть второй раз уже с кукой -- религия не позволяет?

Gvozd 13.01.2009 00:54

Kolyaj, +1
Моя основная спциализация работы как раз и состои в парсинг-грабинге чужих сайтов.
И это наиболее приемлимое решение.
если куки генерятся так просто.
ЗЫ если у них на сайте куки ВЫСТАВЛЯЮТСЯ в такой способ, то они имеют малый опыт защиты своих приложений.
такие порталы как правило дергаются за час-два-три и за несколько десятков баксов.
в общем, делайте, ибо направление решения мы задали.
по уточняющим вопросам обращайтесь


Часовой пояс GMT +3, время: 07:15.