全部,關於Ajax黑客的問題
我有一個用Zend Framework和MVC編寫的PHP網站。大多數控制器操作檢查請求是否是Ajax請求,否則將用戶重定向到主頁。我正在考慮各種方式來打破該網站。我正在考慮以下情況:
- 用戶在其本地計算機上創建自己的PHP項目。
用戶向我的站點上的控制器之一寫入JQuery ajax post請求,並嘗試發佈惡意信息。 例如:
$.ajax({ type: 'POST', url: "https://marketsite/getinfo/getstuff", cache: false, dataType: "html", success: function(html_response){ alert(html_response); }, error: function(xhr,ajaxOptions,errorThrown){ alert(errorThrown); } });
我的問題是沒有 「URL」 屬性在Ajax請求上面佔據絕對路徑?我知道它需要相對路徑。另外,是否有可能通過發送此類請求來破壞任何網站?
感謝
唯一的檢查我在地方每個控制器的動作是,它會檢查一個Ajax請求。如果不是將用戶重定向..我的網站是90%阿賈克斯驅動..我使用的代碼是: 如果 {// 做一些 } (空($ _ SERVER [ 'HTTP_X_REQUESTED_WITH'])&&用strtolower($ _ SERVER [ 'HTTP_X_REQUESTED_WITH'])== 'XMLHttpRequest的'!) else { //將用戶重定向到主頁 } – Jake 2010-06-15 19:15:54
我不知道我是否受到攻擊者的攻擊保護..是否有任何資源用於furt她對此有何看法? – Jake 2010-06-15 19:17:57
您需要防止只是向您的AJAX處理程序發出任意請求的人。一種方法是將cookie設置爲隨機值。散列該cookie值並將其附加到您的AJAX請求:「https:// marketsite/getinfo/getstuff?verifier = [hashed_value]」。 AJAX請求將發送cookie和散列值,並且您可以驗證請求是否爲真。 – dana 2010-06-15 19:22:24