|
|
|
| Вот вся строка кода:
<A href="haggle.phtml?obj_info_id=20807&stock_id=633969465&g=3" onClick="this.href='haggle.phtml?ob'+'j_info_id=20807&stock_id=633969465&brr=1366';if (!confirm('Are you sure you wish to purchase Mr Irgo Stamp at 951 NP?\n\n(you can still haggle to push the price lower!)')) { return false; }">
<IMG src="http://images.neopets.com/items/stamp_neoquest_irgo.gif" width="80" height="80" alt="This black market dealer is now immortalised in stamp form!" title="This black market dealer is now immortalised in stamp form!" border="1">
</A>
|
При попытке скопировать и перейти по линку neopets.com/haggle.phtml?obj_info_id=20807&stock_id=633969465&g=3 получаю ошибку.
При попытке пройти по линку neopets.com/haggle.phtml?obj_info_id=20807&stock_id=633969465&brr=1366 тоже ошибка.
Почему? В чем хитрость программиста? Если делать все с сайта, то нормально переходит по линку.
Заранее спасибо. | |
|
|
|
|
|
|
|
для: Indemion
(12.02.2007 в 17:22)
| | >При попытке скопировать и перейти по линку
neopets.com/haggle.phtml?obj_info_id=20807&stock_id=633969465&g=3 получаю ошибку.
>
>При попытке пройти по линку
neopets.com/haggle.phtml?obj_info_id=20807&stock_id=633969465&brr=1366 тоже ошибка.
http://neopets.com/haggle.phtml?obj_info_id=20807&stock_id=633969465&brr=1366
-не ошибка, а говорит что вы не залогинены. | |
|
|
|
|
|
|
|
для: AlexSol
(12.02.2007 в 17:43)
| | Конечно. Я привел код программы для примера. Я могу залогинится и ошибка будет повторятся.
Мне важно понять почему оба линка неправильные и в чем хитрость. Почему нужно обязательно использовать javascript, что пройти по линку. Может быть дело в return? Или первый линк это обманка? А второй верный только если идет с сайта? Может быть такое, что линк работает только тогда когда непосредственно запускается с сайта программы?
Если для решения задачи нужен логин и пароль, я могу их дать. Спасибо. | |
|
|
|
|
|
|
|
для: indemion
(12.02.2007 в 20:24)
| | >> Если для решения задачи нужен логин и пароль, я могу их дать. Спасибо.
Ну, если не страшно их потерять, мало ли..... можно было бы сказать точнее.
На мой взгляд там стоит проверка реферера - можно проверить это с помощью сокетов (но нужен пароль+логин).
Или сами попробуйте:
<?php
$hostname = "neopets.com";
$path = "/haggle.phtml?obj_info_id=20807&stock_id=633969465&brr=1366";
$line = "";
$cookie = "pass=123;name=admin;";
$fp = fsockopen($hostname, 80, $errno, $errstr, 30);
if ($fp)
{
$headers = "GET $path HTTP/1.1\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= "Cookie: ".$cookie."\r\n";
$headers .= "Referer: http://страница откуда можно попасть на данную\r\n";
$headers .= "Connection: Close\r\n\r\n";
fwrite($fp, $headers);
while (!feof($fp))
$line .= fgets($fp, 1024);
fclose($fp);
}
|
Подставте свои данные в $cookie, правильно обзавите их (нужно посмотреть имена куков) и вывидите $line после... Можно посмотреть что будет с реферером и без него. | |
|
|
|
|
|
|
|
для: kasmanaft
(12.02.2007 в 21:10)
| | Пароль не жалко, можно зарегистрировать аккаунтов много. Да и не думаю, что кто-то здесь будет воровать у ребенка.
Давайте я попробую описать ситуацию подробней. Мой ребенок играет в онлайноваю браузерную игру. Чтобы зарабатывать деньги нужно покупать в магазине одни предметы, и перепродавать другим игрокам. Предметы появляются случайно при обновлении страницы. Примерно один раз в 10-20 минут. Нужно сидеть и тупо жать рефреш. Трафик жрется порядочно. :)
Предметов мало и можно успеть не купить. Ребенок нервничает, и обратился ко мне с просьбой помочь. Я хочу написать программу немного облегчающую ему задачу. Разработчиками это не запрещено.
Logon: anna_mellamory
Пароль: buster#
Вот линк на один из магазинов:
http://www.neopets.com/objects.phtml?type=shop&obj_type=46
Далее нажимаешь на предмет, подтвержаетшь желание купить и переходишь к экрану покупки товара.
Мне нужно выяснить какой линк нужно поместить в адресной строке браузера, что бы не подтверждать желание купить, а сразу перейти на страницу покупки. | |
|
|
|
|
|
|
|
для: Indemion
(13.02.2007 в 11:21)
| | Эх.. Обшарил штук 10 магазинов в поисках дешевых товаров, а там оказывается после подтверждения еще понажимать нуда перед тем, как купить :D
Действительно, проверяют реферер (ну и, конечно, наличие куков)
<?php
$hostname = "neopets.com";
$path = "/haggle.phtml?obj_info_id=8591&stock_id=878629824&g=3";
// часть после %, как я понял меняется. Скорее всего дается при авторизации.
// возьмите из своих кук и воткните в скрипт для теста.
// (сначала лучше так попробовать)
$cookie = "neologin=anna_mellamory%2BVN5TZL6VCZCVCKC1;";
$line = "";
$fp = fsockopen($hostname, 80, $errno, $errstr, 30);
if ($fp)
{
$headers = "GET $path HTTP/1.1\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= "Cookie: ".$cookie."\r\n";
$headers .= "Referer: http://www.neopets.com/objects.phtml?type=shop&obj_type=37\r\n";
$headers .= "Connection: Close\r\n\r\n";
fwrite($fp, $headers);
while (!feof($fp))
$line .= fgets($fp, 1024);
fclose($fp);
}
echo substr($line, strpos($line, "\r\n\r\n"));
?>
|
| |
|
|
|
|
|
|
|
для: kasmanaft
(13.02.2007 в 21:51)
| | Попробую, спасибо. Я программу скорее всего на VB буду писать, просто пытаюсь понять механизм защиты.
Да, после подтверждения еще и на картинку надо нажать, но это я уже решил на VB. Сложность в том, как перейти от выбора предмета + нажатие + подтверждение к следующей странице, где уже нужно вводить цену и нажимать как подтверждающую картинку :)
Видимо у меня проблемы с пониманием соккета + понимание реферера.
А меняется только две вещи, а именно id (obj_info_id=8591&stock_id=878629824). Видимо наличие и сам предмет.
Буду пробовать. Может имеет смысл попросить помощь за вознаграждение. | |
|
|
|
|
|
|
|
для: Indemion
(14.02.2007 в 13:23)
| | Cпасибо, на 50% получилось. | |
|
|
|
|
|
|
|
для: Indemion
(17.02.2007 в 21:27)
| | А как теперь сделать так, что щелкая по картинке попадать именно на фигуру? Если я не попадаю, то все приходится вводить заново? Что-то я не нашел какой там код?
Пока додумался только до такой вставочки.
$string_start = strpos($line, "/captcha_show.phtml?");
$string_end = strpos($line, 'style="border-style: solid; border-width: 1; border-color: black;">');
$string = substr($line, $string_start, $string_end - $string_start - 2);
$path2 = "/haggle.phtml?".$string;
|
Или дело не в этой строке?
<input type="image" src="/captcha_show.phtml?_x_pwned=abfc7eca658bdc8ced7f95e611ef2c30" style="border-style: solid; border-width: 1; border-color: black;">
|
| |
|
|
|