訪問我要限制在我的網站某些網頁的訪問。我在PHP中有一些BL頁面,我想限制他們只能訪問內部。的.htaccess拒絕來自外部請求
我的意思是,我想的是,如果用戶在瀏覽器中鍵入他們這些頁面將被拒絕,但會接近,如果另一個PHP頁面會打電話給他們(與POST或GET請求)。
是否有可能做的是,在.htaccess文件? 如果是,怎麼了?
訪問我要限制在我的網站某些網頁的訪問。我在PHP中有一些BL頁面,我想限制他們只能訪問內部。的.htaccess拒絕來自外部請求
我的意思是,我想的是,如果用戶在瀏覽器中鍵入他們這些頁面將被拒絕,但會接近,如果另一個PHP頁面會打電話給他們(與POST或GET請求)。
是否有可能做的是,在.htaccess文件? 如果是,怎麼了?
只是爲了說明,php頁面不是發送POST或GET請求的頁面,而是瀏覽器,這意味着您無法通過IP進行阻止。所以你需要在這裏檢查引用者。這一問題是可以引薦很容易僞造的,所以這是不能保證你會被拒絕訪問。
您可使用的mod_rewrite的%{HTTP_REFERER}
變量檢查引薦,然後使用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]
您可以通過用戶代理限制..但它不是更好的辦法...
RewriteCond %{HTTP_USER_AGENT} (Chrome|Firefox|Webkit)
RewriteRule .* -
,如果你從那裏來的請求只是添加知道
Order allow deny
Allow from xx.xx.xxx.xx/xx
deny from all
遺憾的英語不好
我知道這是一個古老的答案,但不這樣做!黑客可以欺騙用戶代理!另外值得關注的是,這甚至不適用於像w3m這樣更隱蔽的瀏覽器。 – Jeroen
通過「**另一個PHP頁面將稱他們爲**」,你的意思是另一個PHP頁面通過'
發送POST或GET請求。即使頁面不在公共文件夾中,「require」也可以工作。 – nrofis
因此,您將使用類似cURL庫的方法向本地主機發出HTTP請求?這似乎不是很有效。 – Quentin