我的网站上有一个说 “ check.php” 的php文件,在提交表单时执行。
说我的网站是 “ myweb.com” ,而php文件在目录“ PHP”中
我想防止直接访问“ check.php”文件的网址,即,如果有人键入网址“ **_myweb.com/PHP/check.php_** ”,则不应执行该php文件,而应返回一条错误消息。
我试图通过在.htaccess中设置规则来阻止访问,但是即使我尝试提交表单,它也会阻止php。
.htaccess规则:
RewriteEngine on RewriteCond %{THE_REQUEST} \.php[\ /?].*HTTP/ (.*)\.php$ /index.html [L]
有什么可行的方法吗?
您可以使用PHP做到这一点
<?php /* at the top of 'check.php' */ if ( $_SERVER['REQUEST_METHOD']=='GET' && realpath(__FILE__) == realpath( $_SERVER['SCRIPT_FILENAME'] ) ) { /* Up to you which header to send, some prefer 404 even if the files does exist for security */ header( 'HTTP/1.0 403 Forbidden', TRUE, 403 ); /* choose the appropriate page to redirect users */ die( header( 'location: /error.php' ) ); } ?>