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

Ну, у нас есть общий хостинг для этого портала. Можно ли сделать доступным только для одного ip?

И как ? например, есть ли код, который нужно добавить?

Отношении

0
krazyhamad 7 Сен 2016 в 18:48

3 ответа

Лучший ответ

Вы должны использовать глобальную переменную $ _SERVER, например:

if ($_SERVER['REMOTE_ADDR'] == '127.0.0.1') {
  // restrict
}

Хорошей альтернативой является фильтр сеанса: http://php.net/manual/en/ session.examples.basic.php

Вы также можете использовать файлы cookie: http://www.php.net/manual/en/function.setcookie.php

1
Marc Giroux 7 Сен 2016 в 15:51

Есть способы занести IP-адреса в белый список из cPanel вашего веб-хоста. Если вы хотите сделать это с помощью PHP, вам нужно будет добавить это до того, как что-либо еще инициируется в вашем PHP.

$whitelist = array('192.0.0.1', '192.0.0.2', etc);
if(!in_array($_SERVER['REMOTE_ADDR'], $whitelist)){
    header('location:http://google.com');
}
1
Kaylined 7 Сен 2016 в 15:51

Хотя PHP - это круто, почему бы не оставить безопасность вещам, на самом деле предназначенным для обеспечения безопасности? Создайте файл .htaccess и поместите ...

order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
allow from xxx.xxx.xxx.xxx

Где xxx = IP-адреса, которые вы хотите разрешить

0
Duane Lortie 7 Сен 2016 в 15:56