embed — защитить скрипт php — разрешить встраивание только с перечисленных страниц

Я хотел бы предложить веб-сервис, который можно встраивать для других веб-сайтов — теперь мне нужно решение для защиты встраивания — чтобы только разрешенный сервер мог встраивать страницу …

Как вы думаете, что является лучшим способом встроить страницу (это PHP-скрипт)?

И как лучше всего это защитить?

Я пробовал несколько вещей, таких как встраивание iframe и PHP $_SERVER['HTTP_REFERER'] защита (которая на самом деле не спасает;)

Так у кого-нибудь есть идея получше? Javascript, Htaccess, …?

0

Решение

ты можешь получить $_SERVER["REMOTE_ADDR"] чтобы проверить, какой сервер является вызывающим, и вы можете отфильтровать нежелательных.

Другой способ — это то, что @Mike грустно, для создания API, для чего нужен токен безопасности.

Если вы хотите проверить IP звонящего, сделайте следующее:

$allowedHosts = array('192.168.1.1', '192.168.1.2');
if (in_array($_SERVER["REMOTE_ADDR"], $allowedHosts)) {
//Do what you want
} else {
die('Your host is not allowed');
}

РЕДАКТИРОВАТЬ

ОП спросил:

связано с тем, как легко подделать информацию $ _SERVER [«REMOTE_ADDR»]?

Не знаю, как я знаю, это не так легко. Может быть, есть способы украсть IP.

Если вы работаете с действительно конфиденциальными данными, я предлагаю использовать проверку IP А ТАКЖЕ маркер безопасности.

Вам необходимо создать интерфейс, который обслуживает входящий запрос. Если мне нужно сделать что-то вроде твоей работы, я бы так и сделал:

  • Проверьте входящий IP. (Что я написал с кодом). Давайте использовать ключ API / ключ безопасности в запросе. Проверьте правильность этих параметров.

  • Со стороны клиента сначала получите токен безопасности. Если ключ API и ключ безопасности верны, укажите маркер безопасности для клиента. Срок действия токена должен истечь в короткие сроки, например. 5-15 минут

  • Обслуживайте следующий запрос только с помощью ключа API, ключа безопасности, токена безопасности.

  • Сделайте все это с помощью протокола https.

  • Если существует много неудачных запросов с одного и того же IP-адреса, заблокируйте этот IP-адрес или временно заблокируйте его.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]