2017-06-12 100 views
0

我有一個輸入表單,人們可以通過網絡將關於媒體的數據添加到SQL數據庫。我的問題是 - 有沒有辦法確認所有添加的數據?通過php確認更改和添加到sql數據庫?

例子:

未知用戶填寫表單垃圾郵件,並按下提交按鈕,我得到了有關消息(或必須確認)的信息被髮送到SQL數據庫之前。

+2

這個東西可以通過一個臨時表來實現,在這個臨時表中,您可以爲決策制定等數據進行處理。 –

回答

0

如果您正確構建SQL插入以防止SLQ注入等,並且您的目標是緩和內容,那麼這與向您的表中添加名爲「已確認」的列一樣簡單默認值爲「0」。然後,您的查看功能將檢查此值(如果$已確認)...),並且只有在設置了已確認的標誌後才能查看輸入。您可以在審覈期間刪除,甚至可以有一個垃圾收集器cron作業,刪除比預設時間早的未確認條目。

如果您這樣做是因爲您擔心數據進入數據庫可能會破壞數據庫(SQL注入和其他惡意問題),那麼調節輸入是非常耗時的解決方案。您應該閱讀preparing queries以避免這些問題。

0

這裏有三個基本選項,這取決於您的特定需求。

用條件標誌插入到表中,需要通過「確認」條目來設置條件標誌。這需要在一段寬限時間(通常是一天)之後定期清除未經確認的條目,以避免亂拋垃圾的數據。這可能會使搜索變得困難,因爲您必須在所有索引中包含此標誌才能保持性能並避免顯示未經確認的數據。

第二種方法是獲取所有參數,將它們打包爲單個注入隱藏字段的JSON,或者將每個元素都呈現爲與之前提交的相同名稱的隱藏字段。然後確認過程將重新發布這些參數,並附加一個「確認」步驟。

第三種方法是使用JavaScript,jQuery或Angular或React等前端框架完成所有客戶端操作。這樣可以避免往返服務器,並且服務器不需要做任何額外的工作來驗證事情得到確認。