我想限制对网站中某些页面的访问。我在PHP中有一些BL页面,我想将其访问限制为仅内部访问。
我的意思是,我希望如果用户在浏览器中键入这些页面将被拒绝,但是如果另一个PHP页面将它们调用(带有POST或GET请求),则可以访问这些页面。
是否可以在.htaccess文件中执行此操作?如果是,怎么办?
为了澄清起见,php页面不是发送POST或GET请求的页面,而是浏览器,这意味着您不能通过IP进行阻止。因此,您需要在此处检查引荐来源网址。问题在于引荐来源网址很容易伪造,因此不能保证您会拒绝访问。
您可以使用%{HTTP_REFERER}
mod_rewrite中的变量检查引荐来源,然后使用该F
标志拒绝访问:
RewriteEngine On
# if the request's referer isn't from a php page on your site
RewriteCond %{HTTP_REFERER} !^https?://your-domain.com/.*\.php
# deny access to the list of php files
RewriteRule ^(path/to/protected.php|path/another_protected.php|images/protected.png)$ - [L,F]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句