|
|
|
| Я делаю API, суть которого такова:
Партнёры инклюдят себе JavaScript файл и ставят div с определённым id (что бы там сразу заполнилась форма с помощью jQuery из этого файла). Данные из формы отправляются AJAX`ом на мой файл API.php на нашем сервере и мне надо, что бы я проверил откуда пришёл запрос (сайты партнёров известны, так что я думаю просто искать gethostbyaddr($_SERVER['REMOTE_ADDR']) в таблице БД) и если с сайта партнёра - обрабатывать...
Но меня пугает тот факт, что тот же cURL легко может подделать этот заголовок, поэтому я ещё думаю, может есть ещё какая защита? | |
|
|
|
|
|
|
|
для: DEM
(31.08.2012 в 05:26)
| | REFERER смотрите.
PS: Любую защиту при желании можно обойти. | |
|
|
|
|
|
|
|
для: mihdan
(31.08.2012 в 21:39)
| | тут вы правы, но не пытаться защититься - тоже не лучший вариант :)
PS. а нельзя ли проверить, это AJAX-запрос или нет? | |
|
|
|
|
|
|
|
для: DEM
(31.08.2012 в 05:26)
| | Здравствуйте. Можно примерно так:
<?php
$array_sites = array('site1.com', 'site2.com', 'site3.com', 'site4.com');
$host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
if( !in_array(array_sites)) exit('Ошибка подключения к интерфейсу!');
?>
|
| |
|
|
|
|
|
|
|
для: Rolex
(02.09.2012 в 17:07)
| | Такой вопрос возник: а если это идёт AJAX-запрос с какого-то сайта - он укажет в REMOTE_ADDR ip сайта с которого запрос посылается? | |
|
|
|
|
|
|
|
для: DEM
(09.09.2012 в 02:37)
| | XMLHttpRequest - это объект браузера, и технология AJAX - это технология клиент-сервер. Каким образом сайт может послать на другой сайт AJAX-запрос?
Можно только послать заголовки типа HTTP_X_REQUESTED_WITH, и кучу любых иных, но не AJAX-запрос сделать. | |
|
|
|