2012-09-20 65 views
0

我需要使用htaccess保護Joomla CMS中的「單一邏輯」網址。我發現這裏.htaccess code to protect a single URL?.htaccess使用查詢字符串組合保護網址

該解決方案,這對於一個特定的URL的偉大工程:

RewriteEngine On 
RewriteCond %{REQUEST_URI} ^/index\.php$ 
RewriteCond %{QUERY_STRING} ^option=com_content&task=view&id=76$ 
RewriteRule ^(.*)$ /secure.htm 

但是,我怎麼能確保該網址的部分不能被交換周圍或修訂,因此繞過安全訪問。例如我不想允許訪問

option=com_content&task=view&id=76&dummy=1 
option=com_content&id=76&task=view 

要麼。

我已經試過這一點,這似乎並沒有工作:

RewriteEngine On 
RewriteCond %{REQUEST_URI} ^/index\.php$ 
RewriteCond %{QUERY_STRING} option=com_content 
RewriteCond %{QUERY_STRING} task=view 
RewriteCond %{QUERY_STRING} id=76 
RewriteRule ^(.*)$ /secure.htm 

回答

0

你的規則正常工作對我來說,當我去到任何這些URL:

  • http://localhost/index.php?blah=blah&option=com_content&task=view&id=76
  • http://localhost/index.php?option=com_content&task=view&id=76&dummy=1
  • http://localhost/index.php?option=com_content&id=76&task=view

我得到服務的在/secure.htm

內容然而,你可能聽起來邊界添加到您的查詢字符串規則:

RewriteCond %{QUERY_STRING} (^|&)option=com_content(&|$) 
RewriteCond %{QUERY_STRING} (^|&)task=view(&|$) 
RewriteCond %{QUERY_STRING} (^|&)id=76(&|$) 

,這樣你就不會落得像id=761

匹配的東西
相關問題