2017-04-01 54 views
1

我有我自己的服務器,儘可能爲遊戲社區做一切事情(爲了保持低成本)。這包括使用WAMP和Windows 10自己託管網站。假設我有一個域。我正在使用REST服務器。我需要通過Web控制面板提供對REST服務器的訪問,該控制面板使用一大堆複雜的PHP和Javascript噪聲來工作。運行它的唯一方法是通過服務器(顯然),這意味着它需要它自己的虛擬主機來運行(我認爲,如果我只是使用PHP Include,它不起作用)。因此,我創建了一個子域(rest.domain.com),並將其插入到src中,以放入受密碼保護的網頁中。我現在唯一面臨的問題是,任何人都可以去rest.domain.com,圍繞微軟的Wordpress安全行事並與我的東西混淆。使用htaccess保護子域名

我打開要麼

  1. 阻止直接URL訪問和包括一些奇特的代碼,所以只有能的iFrame得到它。
  2. 密碼SubDomain,只是給我的REST用戶rest.domain.com網址。
  3. 完全不同的東西,我不知道存在。

我該怎麼辦?

編輯:1

所以,我們已經得到了我們使用.htaccess文件來限制一個登錄/密碼子域點在哪裏。我在REST文件的目錄中創建了.htaccess文件並創建了一個.htpasswd文件。

我現在收到500ISE錯誤。 我已經瀏覽了3個Google搜索頁面,試圖研究這個問題,並對我的.htaccess文件進行了數十次編輯以使其正常工作。如果沒有htaccess,可以無限制地訪問REST服務器。該錯誤在.htaccess文件中。下面是我的.htaccess文件在放棄這個晚上時的樣子:

在這個幾個小時左右的時間裏,並且已經下降了3個谷歌頁面,打開和研究每一個命中(大部分都在SO),仍然卡住500內部服務器錯誤。這是我坐在現在我的htaccess的文件,這就是我給了一夜:

AuthType Basic 
AuthName "Locked" 
AuthUserFile o:\..\..\..\..\.htpasswd 
Require valid-user 

SetEnvIf Host rest.domain.com !secure_content 

Order Allow,Deny 
Allow env secure_content 
Deny From All 

Satisfy Any 

編輯:1.1

所以,而不是放棄(因爲我不是沒有戒菸!)我開始注意到一些其他網站的趨勢,它使用的是比我最初發現的「指導性」更復雜的.htaccess。我繼續並且註釋了以下幾行:

#SetEnvIf Host rest.radio-takeover.com !secure_content 

#Order Allow,Deny 
#Allow env secure_content 
#Deny From All 

#Satisfy Any 

它現在看起來按預期工作。謝謝你,珍妮,因爲我有點把我指向正確的道路。

+0

向我們展示您的虛擬主機定義 – RiggsFolly

+0

'#REST <虛擬主機*:80> \t的ServerAdmin [郵件] \t服務器名稱[sub.domain.com] \t ServerAlias [sub.domain.com] \t錯誤日誌「 log/wordpress-error.log「 \t CustomLog」logs/wordpress-access.log「common \t DocumentRoot O:/../../../../ rest \t \t \t AllowOverride全部 \t 這只是針對子域。 – FoxFrenzy

回答

0

iframe源頁面可以很容易地通過php重定向來保護。這樣,如果用戶登錄iframe將顯示。直接訪問iframe將顯示禁止。還檢查laravel中間件authcheck和角色和權限..

+0

如果您阻止直接訪問該網址,您將如何顯示從該網址到另一個網站或網頁的iframe?您可以簡單地在rest.domain.com的head標籤中使用authcheck和重定向選項,並通過這樣做直接訪問rest.domain.com將被鎖定。只有登錄用戶才能直接訪問子域頁面或iframe。 – Jenny

0

如果這不是你問的話那麼這裏是另一種選擇。

創建一個。在rest.domain.com的根文件夾中的htaccess文件,並在其中寫入「拒絕所有」,希望你會得到你所需要的。

+0

rest.domain.com沒有文件夾。這是一個在我的DNS提供商處註冊的指向myserverip:80的子域,httpd-vhosts.conf文件將來自該子域的傳入請求指向作爲REST服務器的PHP項目。現在,如果您正在討論REST服務器駐留的實際PHP項目文件夾,那麼我可以在其中放入.htaccess文件,但如果我「拒絕所有」,它將無法在iframe中正常工作,對? – FoxFrenzy

+0

這是我迄今爲止所做的。 1)創建一個.htaccess,並把它在REST directiory 它看起來像這樣: 'SetEnvIf之後主機rest.DOMAIN.com secure_content 基礎進行AuthType AuthName指令 「鎖定」 的AuthUserFile \ WWW \ WordPress的\ REST \ htpasswd的 需要有效的用戶 訂單允許,拒絕 從所有 允許來自ENV拒絕= secure_content 手託Any' 2)創建一個htpasswd文件和使用的本工具(http://www.htaccesstools.com/ htpasswd-generator /) – FoxFrenzy

+0

3)它帶來了登錄提示,我把它放進去,但我得到了500 ISE。繼續玩下去。 – FoxFrenzy