Доступ к скрипту

D
На сайте с 01.04.2006
Offline
1
700

Есть php-скрипт, который используется для вывода во фрейм на этом же хосте, где он расположен.

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

Oniks
На сайте с 22.08.2005
Offline
176
#1

Есть константа, кажись $_SERVER['HTTP_REFERER'] называется, если она равна 'site.ru', то скрипт работает, если нет, значит выдает ошибку. Точно не уверен в именах переменных, если не сработает стучите в асю, посмотрим мануал;).

if(ereg("^(www\.)?site.ru$", $_SERVER['HTTP_REFERER']) { все верно } else { выдает ошибку }
Профессиональные услуги фотографа в Москве и области (http://www.oniks-photo.ru/) покупаю стать и ссылки с сайтов про охоту
X
На сайте с 05.10.2005
Offline
140
#2

Проверяйте реферер. Если он не равен вашему хосту - говорите: "до свидания".

$_HTTP_REFERER, по-моему. Но желательно проверить.

getenv("HTTP_REFERER") работает.

Юр. услуги для ООО,ИП,СМИ,товарные знаки, Лицензии связи (хостинг,SMS), авторское право Оффшоры,merchant account,карты
D
На сайте с 01.04.2006
Offline
1
#3

Спасибо за ответы! Сделал, все работает! :)

Ayavryk
На сайте с 11.10.2003
Offline
209
#4
xtremest:
Проверяйте реферер. Если он не равен вашему хосту - говорите: "до свидания".

Хороший совет. Скажите Яндексу "до свидания"

Тынгыр, мынгыр, комсомол (http://erum.ru). Ехари, ехари, (жалобно) аяврик. /народная тунгусская песня/
Oniks
На сайте с 22.08.2005
Offline
176
#5
Ayavryk:
Скажите Яндексу "до свидания"

А ведь прав человек, причем не только Яндексу :), не учли мы с xtremest этого момента. Тогда либо через Яваскрипт проверять наличие родительского фрейма (что легко обойти простой вырезкой кода всего 1 РНР функцией), или забить на это дело и смириться. Это вы не от 1пс, случаем, хотите так отделаться? Если да, то просто напишите им письмо с просьбой удалить из базы.

D
На сайте с 01.04.2006
Offline
1
#6
Oniks:
А ведь прав человек, причем не только Яндексу :), не учли мы с xtremest этого момента. Тогда либо через Яваскрипт проверять наличие родительского фрейма (что легко обойти простой вырезкой кода всего 1 РНР функцией), или забить на это дело и смириться. Это вы не от 1пс, случаем, хотите так отделаться? Если да, то просто напишите им письмо с просьбой удалить из базы.

Как раз данная ситуация меня и устраивает. Скрипт проигрывает музыку и делает это во фрейме. Поэтому нет никакой необходиости у него быть в поле зрения с внешних ссылок, что явно указано в robots.txt.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий