![](/img/trans.png)
[英]What is the best way to create a PHP/MySQL upgrade script for a software developer?
[英]What's the best way of escaping quotes in a php script that saves to mysql?
我要來回處理這個問題,所以我想在這里問。 我希望有一種適用於所有輸入字段(文本,選擇,文本區域)的技術。
首先,我們使用php腳本處理用戶輸入。 可能會有一些驗證錯誤,因此可能需要使用用戶輸入的值重新顯示表單。 htmlspecialchars($fieldValue, ENT_QUOTES)
在這里不起作用,因為如果出現驗證錯誤並重新顯示表單,則用戶輸入的所有引號都將轉換為\\“。至少在文本區域中。
表單成功驗證后,我們需要將輸入發送到數據庫。 列值必須“安全”,因此需要進行一些轉換。 我了解從數據庫讀取數據時可能也需要進行某種形式的轉換,盡管我希望這是錯誤的。
尋找不涉及太多代碼的良好實踐。
===
只是作為更新。 在Domino形式中,沒有任何形式的轉義,並且不需要特殊處理。 Notes會自動做到這一點。 在使用JPA的Java應用程序中,所有這些“安全性”也可以自動處理。 我了解php可能沒有等效的功能,但這是一個常見的問題,我選擇相信自己缺少一些非常簡單的解決方案。
只需使用mysql_real_escape_string()
過濾需要進入數據庫的輸入!
您可以使用像Doctrine這樣的ORM自動執行很多工作。 您確實應該使用PDO進行數據庫訪問,這將允許您執行“綁定”而不是“轉義”。 僅使用轉義會出現UTF8字符和編碼問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.