2010-06-27 65 views
4

我在這裏有一個特定的案例,我想要一些安全建議。基本上我的問題是「如果我控制數據庫中的內容(沒有用戶提交數據),是否存在一個安全問題,以HTML(通過AJAX)返回數據庫查詢的結果」?通過AJAX注入受控HTML是一個安全問題?

這裏是一個正在發生的過程:

  1. 每日構建生成一個XML文檔
  2. 我的服務器檢索該XML文檔,解析它(用PHP),並將其輸入到數據庫中。
  3. 用戶進入網站,AJAX請求被髮送(參數包括結果的數量恢復,如何排序,並在必要時搜索詞)
  4. PHP腳本查詢數據庫將結果返回給Ajax回調
  5. AJAX回調注入的結果進入頁面觀看

漂亮的標準的東西......

一些更多的背景:我用準備好的SQL語句,這樣就限制了用戶提供的搜索查詢和篡改的任何URL創建一個任意查詢。該XML文件只是字母數字,沒有代碼。我想返回HTML的原因是爲了儘可能限制客戶端工作,使用HTML,不需要用JS來生成頁面(除了使用jQuery來注入html塊)。

對我有何建議?

預先感謝您。

PS - 這仍處於規劃階段,所以沒有真正的代碼可以顯示。

回答

6

只要您控制輸入100%,注入或XSS攻擊的風險就非常小。任何可能發生的攻擊,例如通過電線替換部分或注入響應,無論您採取了哪些安全措施,都會發生。

只需保持數據庫的安全。

+0

謝謝 - 我希望這將是答案:o)大聲笑 – Tim 2010-06-27 03:37:42

3

聽起來像你正在做非常標準的東西。出於同樣的原因,許多人會使用AJAH(HTML而不是XML或JSON)。

+0

感謝您的意見。我只是不想創造一些可能的XSS陰門或什麼。我知道我需要消毒,但它只需要一個遺漏... – Tim 2010-06-27 03:26:50

1

XSS的可能位置是如果您在ajax響應中顯示搜索條件。

+0

我不知道,但謝謝你讓我知道這一點。 – Tim 2010-06-27 04:58:55