2011-12-21 55 views
0

防止訪問ajax文件夾中的文件,以便通過在瀏覽器url中調用它們不能直接調用它們。htaccess url控制

ex: - www.mysite.com/ajax/comment.php?act=12210 & id = 203像這樣。
comment.php是一個叫做文件的ajax。它不應該由用戶直接調用。但有些惡意的人可能會嘗試這個。

每當ajax出現在url我需要重定向請求到某個文件,說你不允許這樣做。但是當使用ajax提出請求時,我需要提供該請求。我試過htaccess的解決方案,只允許從本地訪問該文件。但是通過實際的ajax請求阻止了對file.i.e的合法訪問。

回答

0

您可以在不htaccess.If你想有一個檢查,看看是否請求Ajax請求與否,你可以使用下面的代碼做:

最佳途徑:

if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') { 
     header('HTTP/1.1 403 Forbidden'); 
    exit; 

} 

與htaccess的U可以嘗試:

在你的文件夾/ AJAX /放置一個.htaccess文件下面的規則:

SetEnvIfNoCase X-Requested-With XMLHttpRequest ajax 
Order Deny,Allow 
Deny from all 
Allow from env=ajax 
+0

謝謝主席先生˚F或這個幫助。這肯定是一個解決方案。但我聽說這個'XMLHttpRequest'標頭可能被欺騙,並且它們是可用的工具,即使在非ajax調用時也可以發送該標頭。 – 2011-12-21 08:46:59

+0

當然,但這並不意味着你不能嘗試。它會阻止人們窺探,但它不會阻止那些想要濫用系統的人。您將不得不採取更多措施,例如自動生成的訪問密鑰。 – dead 2012-04-27 05:04:28