как запустить php скрипт только на указанном сервере - по IP или доменному имени? - PullRequest
0 голосов
/ 13 ноября 2011

Знаете ли вы, как это сделать? Я хочу, чтобы мой скрипт работал только в одном месте. Возможно ли это?

Ответы [ 4 ]

1 голос
/ 13 ноября 2011

возможно, самый простой способ сделать это - проверить аппаратный идентификатор, такой как MAC-адрес сетевой карты, и зашифровать код PHP с помощью чего-нибудь, например, Ion Cube, чтобы кто-то не мог просто отредактировать PHP и изменить MAC-адрес проверяется на наличие.

0 голосов
/ 16 февраля 2017

Опция "noob":

if ($_SERVER['SERVER_ADDR'] == "127.0.0.1" && $_SERVER["HTTP_HOST"] == "mydomain.com") {
   //execute script
}

no - это очень круто, потому что вы можете сделать это:

<?php
    $_SERVER['SERVER_ADDR'] = '127.0.0.1'; // or IP restricted
    $_SERVER['HTTP_HOST'] == 'mydomain.com'; // Or TLD restricted
    // AFTER, you do include():
    require_once('script_of_programmer.php');
?>

, в этом контексте любой скрипт может быть выполнен на любом сервере...

Уникальной опцией является использование IonCube или ZEND GUARD

0 голосов
/ 13 ноября 2011

Непонятный вопрос.

  1. Если вы хотите ограничить доступ к вашему сценарию для всех.И доступно только для специальных пользователей на основе их IP.Затем вы можете использовать $_SERVER['REMOTE_ADDR'] для проверки IP-адреса пользователя.Однако вы должны знать, что в тех случаях, когда ваш пользователь находится за прокси-сервером, вам нужно проверить X-Forwarded-For HTTP-заголовок, а затем проверить $_SERVER['REMOTE_ADDR'].Лучшим решением было бы использовать брандмауэр на сервере, установив iptable settings.

  2. Если вы хотите сказать, что ваш скрипт вообще не будет доступен для всех, топоместите код снаружи DocumentRoot и запустите его из CLI.

Пожалуйста, предоставьте больше деталей, чтобы получить лучший ответ.

0 голосов
/ 13 ноября 2011
if ($_SERVER['SERVER_ADDR'] == "127.0.0.1" && $_SERVER["HTTP_HOST"] == "mydomain.com") {
   //execute script
}
...