2012-04-08 71 views
0

retreving所以這裏後搞砸了是我的問題:textarea的內容從數據庫

我已經編寫行政管理區域爲我的網站,它有哪些應該製造新聞的網站一個textarea。一切正常使用時,等等。但是,當涉及到引號(「」),一切都變得混亂。引號通過\(斜線)得到ESCAPED。

提交的新聞將在網站的索引頁面中看到,因此我知道管理中的書面HTML是否正確。這是代碼應如何:

<a href="http://www.youtube-nocookie.com/v/q9FY9O8os4M&hl=it_IT&fs=1?rel=0" rel="iframe-640-505" class="pirobox_gall1" title="MC Qoppa - Dashnise "><img src="../styles/thumbs/qopa2.jpg" width="250" height="140" class="thumb"></a> 

這是怎麼看起來像在提交後:

<a href=\"http://www.youtube-nocookie.com/v/q9FY9O8os4M&hl=it_IT&fs=1?rel=0\" rel=\"iframe-640-505\" class=\"pirobox_gall1\" title=\"MC Qoppa - Dashnise \"><img src=\"../styles/thumbs/qopa2.jpg\" width=\"250\" height=\"140\" class=\"thumb\"></a> 

我使用TinyMCE的(WYSIWYG編輯器)時,我注意到這個問題,認爲這是造成這個問題,但它不是,因爲我已經刪除它,我仍然不斷得到這些HTML混亂。

+1

你在使用PHP嗎?那麼你應該使用PHP的'stripslashes()'函數來去掉斜線。 – Config 2012-04-08 08:27:49

+0

@Stardev,是的我使用PHP和你展示的功能,我修復了一切!謝了哥們。 – Aborted 2012-04-08 08:36:14

回答

1

Magic quotes是一個不推薦使用的PHP功能,最初旨在防止針對Web應用程序安全的SQL injection攻擊。您的虛擬主機可能已啓用魔術引號。

爲了安全起見,開發人員在將用戶輸入包含在SQL語句中時,應該使用mysqli和PDO擴展的「prepared statement」函數。如果由於某種原因無法實現(例如,這些較新的擴展在特定的Web主機上不可用),開發人員應該正確使用適當的MySQL轉義函數(例如mysql_real_escape_string())。

您可以嘗試在php.ini或.htaccess中關閉魔術引號,看看斜槓是否消失;但是,請確保您的應用程序先防範SQL注入攻擊。