initally,我很擔心我的問題標題抱歉,但確實沒有什麼更好的走進了我的腦海....重寫規則不適用於jquery.get()?
我有一個.htaccess文件,做了「一切如常」改寫:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
這讓我有這樣的網址,例如的可能性(我與XAMPP工作):
localhost/<project>/en/products/electronic/television/
所以這個網址是在$ _GET [「網址」]變量,我可以使用它(作爲一個數組)加載公司在我的HMVC模式的ntroller。
爲了不必輸入語言(上面例子中的「en」),我實現了一個自動插入「en」的函數。基本上這意味着下面的url給出了相同的控制器,並分別輸出相同的結果。
localhost/<project>/products/electronic/television/
,但現在我不知道,我的JavaScript文件(jQuery的& CO),被趴在文件夾
<project>/lib/js/query/jquery.min.js
可以簡單地需要這樣的:
<script type="text/javascript" src="/<project>/lib/js/jquery/jquery.js"></script>
我預計該請求的路徑最終將是這樣的(我在$ _GET [「網址」]變量添加的語言,它會嘗試加載控制器和失敗...
src="/<project>/en/lib/js/jquery/jquery.js"
那麼,在這種情況下,我會很高興,它的工作原理是這樣的,但它給我的想法來試試這個:
$(document).ready(function() {
alert("this is a test");
$.get("/<project>/<config-dir>/<config-file>", function(data) {
alert(data);
});
});
瞧,它輸出配置文件。 我認爲這種行爲在高效的服務器上是一樣的,但是在路徑中沒有「/」節點。 我怎樣才能防止這一點,而無需從文檔根移動配置文件?
基本上,我已經確保了XSS攻擊不會(幾乎)是不成功的。 「幾乎」只是因爲沒有100%的安全。
我希望我表達自己:) 感謝您的幫助/建議。