2011-02-07 20 views
1

我在我的主服務器上創建一個腳本,並將使用js/html將其稱爲圖像源,傳遞當前的tumblr頁面的引用變量,以便將我的博客統計信息整合到我的主要統計跟蹤數據庫中。足夠的檢查/驗證url變量傳遞給php腳本在url中?

任何查看源代碼的人當然都可以看到這個腳本可以通過get來接受一個url變量。我沒有太大的安全書呆子,但我使用輸入下列檢查這個變種,目前:

$previous_referrer = htmlspecialchars($_GET['ref']); 
if (filter_var($previous_referrer, FILTER_VALIDATE_URL) && strpos($_SERVER['HTTP_REFERER'], $tumblelog_url)!== FALSE) 

我猜它不是這麼簡單。其他檢查應該執行什麼措施來防止注入攻擊?

回答

1

對於一個數據庫安全地插入數據:

1)之前在DB

插入

篩選數據:

  • 我是否有數據的預期類型/百通(電子郵件,網址.. ..)

首先過濾的主要目的是爲了避免處理無用的數據

防止從SQL注入:

  • 如果插入像數使用功能INTVAL(),floatval()
  • 如果插入字符串使用功能等mysql_real_escape_string(僅用於MySQL的)或製備的說明。

2)插入之後,顯示

避免XSS通過使用像用htmlspecialchars()的函數或htmlentites()之前。