답변:
다음 코드를 .htaccess
파일에 넣을 수 있습니다.
RewriteCond %{REQUEST_URI} ^/(index.php/)?admin/ [NC]
RewriteCond %{REMOTE_ADDR} !^1\.1\.1\.1
RewriteRule ^(.*)$ http://%{HTTP_HOST}/ [R=302,L]
1.1.1.1
귀하의 IP 주소는 어디에 있습니까 ?
* 마지막 행의 경우 http://
와 사이에 간격이 없는지 확인하십시오 %{HTTP_HOST}/
. StackExchange는 코드 http://%
를 게시 할 수 없으므로 사이에 간격을 추가해야합니다.
배수는 다른 성냥 줄을 추가하여 처리됩니다
RewriteCond %{REQUEST_URI} ^/(index.php/)?admin(.*) [NC]
RewriteCond %{REMOTE_ADDR} !^10\.1\.1\.10
RewriteCond %{REMOTE_ADDR} !^10\.2\.1\.10
RewriteRule .* - [F,L]
기본적 으로이 주소가 아닌이 URL 정규 표현식 인 경우 403으로 변환됩니다.
F
하면 L
내포됩니다. httpd.apache.org/docs/2.4/rewrite/flags.html . "[F]를 사용할 때는 [L]이 내포됩니다. 즉, 응답이 즉시 반환되며 더 이상 규칙이 평가되지 않습니다."
가상 호스트 파일에 대한 httpd 구성에서 "허용"규칙을 설정할 수도 있습니다. 또한 추가 보안을 위해 관리 URL을 변경합니다 ( "허용"및 벨트 및 괄호로 대체 가능).
conf 파일 내에서 다음과 같이합니다.
<Location /index.php/mynewadminname>
Order deny,allow
deny from all
#home
allow from 1.2.3.4
#office
allow from 5.6.7.8
</Location>
<Location /mynewadminname>
Order deny,allow
deny from all
#home
allow from 1.2.3.4
#office
allow from 5.6.7.8
</Location>
1.2.3.4와 5.6.7.8은 허용되는 두 개의 IP 주소입니다. 대안이 될 수 있습니다.