2010-10-27 33 views
0

可能重複:
Deny ajax file access using htaccess塊訪問AJAX目錄中的.htaccess

我有一個目錄「AJAX」有我所有的好AJAX內容是格式化的和醜陋的,如果你直接點擊頁面。如何阻止某人使用.htaccess文件擊中http://www.site.com/AJAX/page1.php

+0

你試過..搜索? http://tinyurl.com/39d2ucw – drudge 2010-10-27 00:52:19

+0

是的,我tried..searching,發現以下 拒絕來自所有 這並沒有讓這些文件得到服務。男人,這是很多努力諷刺。我需要一種方法來阻止人們瀏覽文件,但仍然讓他們得到服務。就像我的問題一樣。 – 2010-10-27 00:53:38

+0

偉大的工作,太糟糕了問題是2歲....保持良好的工作Ehsan! – 2012-07-12 21:14:12

回答

0

您並不是真的想用.htaccess來阻止訪問內容,因爲您仍然需要能夠從您的應用程序訪問此內容。

如果你覺得它是重要的,讓人們直接加載此內容,您可以路由所有流量通過一個單一的PHP頁面,如:

http://www.site.com/ajax.php?content=page1 

,然後在ajax.php,你可以限制訪問該內容只有HTTP後,並可能通過其他手段,如獨特的令牌。就像在引用頁創造一個獨特的令牌123,然後使用網址:

http://www.site.com/ajax.php?content=page1&token=123

並且只會將文件如果令牌是在內存中仍緩存。

雖然這會工作,我不明白這一點。如果有人想加載該頁面,誰在乎。你無法阻止他們,因爲你需要它來運行你的應用程序訪問的內容 - 他們總是可以從瀏覽器緩存或使用本地HTTP代理得到它。

+0

老實說,我不在乎。我的老闆呢。直接觀看時,頁面無樣式和「難看」他們得到的CSS時,他們通過jqeury .load帶來的主網頁。我知道我可以塑造他們,但他想要這樣。我曾嘗試向他們傳遞一個變種,我可以直接打到403,但是這也不會讓他們在主頁面上使用它加載<?php $ _POST ['foo'] ;?>,並在單個頁面上<?php if(!isset($ _ Post ['foo']))header('Location:403.php')'?>是否有問題? – 2010-10-27 03:14:04