Apache-2.2
僅鎖定對密碼的 Wiki 訪問,但通過 .htaccess 對子網保持開放
基本上,我們有一個 Wiki,其中儲存了一些敏感資訊 - 不是我所知道的最好的,但我的前任設置了它。我希望能夠向不在本地網路子網中的任何人請求密碼訪問。本地子網上的那些應該能夠在不輸入密碼的情況下繼續。
以下 .htaccess 似乎不再起作用,因為它允許非本地訪問而不需要密碼:
AuthName "Our Wiki" AuthType Basic AuthUserFile /path/to/passwd/file AuthGroupFile /dev/null Require valid-user Allow from 192.168 Satisfy Any order deny,allow
我不知道為什麼。它應該保護的 WikkaWiki 最近升級了,它破壞了 .htaccess 文件,所以我從記憶體/Google搜尋中恢復了上述內容。也許我錯過了一個重要的指令?
完整的 .htaccess 如下:
AuthName "Our Wiki" AuthType Basic AuthUserFile /path/to/passwd/file AuthGroupFile /dev/null Require valid-user Allow from 192.168 Satisfy Any SetEnvIfNoCase Referer ".*(adultsite|picturesplace|learnthebiz|pi-o).*" BadReferrer order deny,allow deny from env=BadReferrer <IfModule mod_rewrite.c> # turn on rewrite engine RewriteEngine on RewriteBase / # if request is a directory, make sure it ends with a slash RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.*/[^/]+)$ $1/ # if not rewritten before, AND requested file is wikka.php # turn request into a query for a default (unspecified) page RewriteCond %{QUERY_STRING} !wakka= RewriteCond %{REQUEST_FILENAME} wikka.php RewriteRule ^(.*)$ wikka.php?wakka= [QSA,L] # if not rewritten before, AND requested file is a page name # turn request into a query for that page name for wikka.php RewriteCond %{QUERY_STRING} !wakka= RewriteRule ^(.*)$ wikka.php?wakka=$1 [QSA,L] </IfModule>
你在這行錯了
order deny,allow
應該
order allow,deny
查看文件中的表格
mod_authz_host
為什麼您認為在 Wiki 中保留敏感資訊不好?如果您的 HTTP 連接通過 TLS 執行,那麼應該不會有任何危害。
對你的問題。我們正在使用 MediaWiki,我只是嘗試編輯 LocalSettings.php:
$wgGroupPermissions['*']['edit'] = false; $wgGroupPermissions['*']['read'] = false; if ($_SERVER['REMOTE_ADDR']=='192.168.1.1') { $wgGroupPermissions['*']['read'] = true; $wgGroupPermissions['*']['edit'] = true; }
……它的工作原理。如果使用者未登錄,這段程式碼的作用是阻止閱讀/編輯。但如果客戶端IP等於上述IP,則可以自由編輯和閱讀Wiki。
也許你可以用類似的方式破解 WikkaWiki 的 PHP。