Apache-2.2

僅鎖定對密碼的 Wiki 訪問,但通過 .htaccess 對子網保持開放

  • October 1, 2012

基本上,我們有一個 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。

引用自:https://serverfault.com/questions/69881