2012-03-21 25 views
0

我正在使用AJAX請求從我的數據庫檢索和顯示數據。保護數據庫內容不被「嗅出」(Ajax)

$("#flexitopicresults").flexigrid(
{ 
    url: 'venuequery-json.php', 
    dataType: 'json', 
    colModel : [ (..) 
    (..) 
} 

venuequery-json.php顯然提供了包含在我的數據庫網格組件的數據的一個很好的JSON格式的版本。問題是:如何防止他人直接調用.php文件,然後獲取我的數據庫(PHP,MySQL)內容的隨時可用的轉儲?

+0

簡短的回答是不要把這件精美格式化的json放在公共領域 – 2012-03-21 06:15:32

+0

除非你跟蹤使用隱藏令牌,祕密,會話,cookie等進行的請求,否則你不能這樣做。 – 2012-03-21 06:16:26

回答

1

使用與當前使用的方法相同的方法來保護提取數據以保護ajax的頁面(通過cookie或會話或htaccess或其他方式進行身份驗證)。您顯然相信該方法足以將其發送到第一位。

0

您可以在ajax請求頁面初始化會話變量,然後在'venuequery-json.php'中檢查它。在檢查過程之後,您可以更新會話變量。所以用戶必須先請求ajax請求頁面。此外,通過再次使用會話,您可以限制「venuequery-json.php」的每次請求。