특정 IP 주소가 전체 도메인 이름 (+ 포함 된 모든 하위 도메인)에 액세스하지 못하게하려고한다고 가정합니다.. 처음에 나는 htaccess로 파일에 다음 줄을 추가하기 위해 다음 코드로 시작 :IP 주소를 제한하는 가장 좋은 방법은 무엇입니까?
$info = 'Order Deny,Allow
Deny from' . IPtoBlock();
if (getIP()){
$htaccess = fopen('.htaccess', 'r+');
fwrite($htaccess, $info);
fclose($htaccess);
}
하지만 뭔가 다른 사용자를 리디렉션보다 더 효과적이다? 결국 그는 즉각적인 리디렉션을 통해 서버에 대한 요청을 처리 할 수 있습니다.
$deny = array('192.168.1.0', '192.168.1.1', '192.168.1.2');
if (in_array ($_SERVER['REMOTE_ADDR'], $deny)) {
header("location: http://www.google.com/");
}
또는 단순히 페이지를 죽입니까?
$deny = array('192.168.1.0', '192.168.1.1', '192.168.1.2');
if (in_array ($_SERVER['REMOTE_ADDR'], $deny)) {
die('Access restricted');
}
이 문제에 대한 최선의 방법은 무엇입니까? 당신의 .htacces
파일에서
PHP 레벨에서는 실행하지 마십시오. 최소한 웹 서버 수준에서 해보십시오. 또는 방화벽/라우터 수준에서 더 나은 결과를 얻을 수 있습니다. 다른 사람이 내 물건에 액세스하는 것을 원하지 않는다면, 심지어 그들이 현관에 들지 못하게하십시오. –
.htaccess를 사용하고 싶습니다. 그런 다음 'ErrorDocument 403 forbidden.html'을 사용하여 맞춤 403 페이지를 디자인 할 수 있습니다. 그러나 만약 당신이 그들에게 오류를 보여주고 싶다면, 전체 웹 사이트를 차단하기에 충분히 위험하다면, 전체 네트워크 수준 (udp, tcp 등)을 차단하기에 충분히 위험 할 수도 있습니다. –
그건 의미가 있지만 항상 서버를 제어하는 것은 아니며 특정 페이지를 공개적으로 사용할 수 없도록하고 싶습니다. –