CHMOD -> ajax iframe

autocalc
На сайте с 11.05.2011
Offline
52
612

Привет! У меня есть файл php, который по ajax запросу отправляет результат вычислений. Т.к. Этот файл чист от лишней информации, у некоторых юзеров может возникнуть желание вставить его себе на сайт через iframe.

Вопрос: можно ли настроить CHMOD, разрешающий обработку внутри сервера, и запрещающий запросы с внешних серверов?

J
На сайте с 28.06.2011
Offline
83
#1
autocalc:
Привет! У меня есть файл php, который по ajax запросу отправляет результат вычислений. Т.к. Этот файл чист от лишней информации, у некоторых юзеров может возникнуть желание вставить его себе на сайт через iframe.
Вопрос: можно ли настроить CHMOD, разрешающий обработку внутри сервера, и запрещающий запросы с внешних серверов?

Можно сделать проверку через JavaScript:


<script language="text/javascrip">
if (location.host != 'www.site.com')
{
location.replace('http://google.com/');
}
</script>

Либо положить в корень сайта .htaccess с параметрами для определенного файла:

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{HTTP_REFERER} !^http://mysite.com/.*$ [NC]
RewriteRule ^file.php$ http://google.com/search?q=$0 [L]
</IfModule>

Последний код не проверял.

UPD. Пардон, немножко извиняюсь первый код нужно сделать проверку родительского окна, а не location.host фрейма. Пишем так:


<script language="text/javascrip">
if (window.parent != undefined && window.parent.location.host != 'www.site.com')
{
window.parent.location.replace('http://google.com/'); /*здесь можно схитрить и подставить главную своего сайта*/
}
</script>

То есть если люди будут устанавливать ваш HTML файл в IFRAME на своем сайте — посетителей будет перенаправлять на ваш. ;)

n0name
На сайте с 22.12.2006
Offline
54
#2

Проще всего - проверять в php-файле реферер. Если реферер с чужого сайта, то ничего не показывать или же показывать скрипт перенаправления (который jmas написал).

Сервис сравнения цена на VPS (http://vpska.com/)

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