我將數據導入到數據庫中的文本字段。然而,當我嘗試輸入Mysql的改變了我的HTML標籤失去作用
<strong> Hi There </strong>
我發現它在表(使用PHP myadmin)作爲
"<strong> Hi There </strong>"
,顯示它在我前面的網頁作爲
<strong> Hi There </strong>
顯然不是預期的結果。
任何想法嗎?我正在使用常規文本格式。
我將數據導入到數據庫中的文本字段。然而,當我嘗試輸入Mysql的改變了我的HTML標籤失去作用
<strong> Hi There </strong>
我發現它在表(使用PHP myadmin)作爲
"<strong> Hi There </strong>"
,顯示它在我前面的網頁作爲
<strong> Hi There </strong>
顯然不是預期的結果。
任何想法嗎?我正在使用常規文本格式。
當您輸入的數據,它可能正在擦洗 - 有可能與htmlspecialchars()
或htmlentities()
爲了解碼標籤,使用html_entity_decode()
工作就像一個魅力謝謝。 – user1020339
爲什麼downvote? – AlienWebguy
呀。這裏發生的是簡單的編碼,因此存儲的表單是安全的。在將其顯示在網頁上之前,將它傳遞給PHP內建html_entity_decode()。
需要注意的是,如果這種情況沒有發生,那將是對別人很容易輸入自己的HTML,不應該有HTML(如用戶名),然後他們可以修改網站的字段。
謝謝。我將不得不考慮這一點,因爲我對PHP很陌生。這確實很有意義。我感謝你指點我在正確的地方,因爲我迷失了那一個。 – user1020339
當處理被保存在數據庫或顯示在您的內容中回來,你應該總是知道的XSS攻擊不同的用戶輸入。更好的安全然後抱歉...
用戶名: 有最小&最大長度的檢查,沒有了ASCII範圍&的嚴格無HTML或特殊字符像<>;'"%
從一開始&端部修整的空間。如果輸出到表單總是使用htmlspecialchars()
。
密碼: 具有用於最小&最大長度的檢查,通過具有在租賃1個國會大廈和一種α-炭作保證器。保存到數據庫時始終進行加密&不使用md5。如果輸出到形式,如果不使用type="password"
屬性始終使用htmlspecialchars()
。
電子郵件: 檢查它是一個有效的電子郵件地址。
主點評,帖子提交方面: 地帶所有的JavaScript,HTML和/或允許用戶如果需要的圖片,鏈接插入BB碼,然後格式化時顯示BB代碼轉換爲有效的HTML。
你確定它的MySQL這樣做,而不是PHP?它看起來像你用來寫入數據庫的任何方法是消毒輸入以防止SQL注入。 –
很可能MySQL沒有這樣做,它可能是調用PHP中的'htmlentities()'的結果 – Clive
您是否在使用任何'wysiwyg'插入數據? – yoda