LifeType 中文開發論壇

開發 => 核心補強 => 主題作者是: scud 於 四月 25, 2006, 08:37:27 下午



主題: bug 單引號問題
作者: scud四月 25, 2006, 08:37:27 下午
在articles.class.php裏麵有一些類似這樣的:

程式碼:
    $filter->normalizeText(Db::qstr($newArticle->getText(false)))

應該改為

程式碼:
Db::qstr($filter->normalizeText($newArticle->getText(false)))

否則在內容中輸入單引號的對應html碼 "'" 程式就會報錯

因為normalizeText把 '轉成為單引號,造成sql語句齣錯暸

當然articles.class.php 以及customfieldsvalues.class.php 裏麵還有幾個類似的地方,也需要改

當然改完之后會不會引髮其他副作用,我就不清楚...


主題: Re: bug 單引號問題
作者: scud四月 25, 2006, 10:24:00 下午
另外发现如果标题里面包含双引号,编辑文章以及文章的url的 title 属性就有问题了


主題: Re: bug 單引號問題
作者: scud四月 26, 2006, 09:17:49 上午
我已經該好暸,具體可以閱讀  http://scud.blog.javascud.org/post/27.htm  (簡體中文)

當然改起來很簡單


主題: Re: bug 單引號問題
作者: markwu四月 26, 2006, 11:01:33 上午
Hi Sucd:

在你的博客上留言了,謝謝!

Mark


主題: Re: bug 單引號問題
作者: scud四月 26, 2006, 11:13:36 上午
report as http://bugs.lifetype.net/view.php?id=879

 :-)


主題: Re: bug 單引號問題
作者: markwu四月 26, 2006, 01:56:03 下午
謝謝!看到了!

Mark


主題: Re: bug 單引號問題
作者: twu2四月 26, 2006, 03:10:13 下午
這個存檔的 bug 在我這兒沒出現過. (也許是之前改過的 backslash 問題也順便避開了這個問題, 不過那個 patch 似乎只存在 1.1 的 svn 中, 在 1.0.4 中並沒有加入)
不過顯示的地方是在編輯文章時, 標題的 ' 並沒有被 escape, 所以在列表及一般顯示是正常, 只有在編輯文章時, 在 ' 之後的東西, 會被 browser 忽視. (可以看 html code, 東西有傳出, 只是沒有被 escape)

只要修改 template/admin/editpost.template 內, 把
程式碼:
value="{$postTopic}"
加上 escape 就可以
程式碼:
value="{$postTopic|escape}"