[CPyUG] [ot]WEB系统中,关键字过滤的部分通常你们都怎么做呢?

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[CPyUG] [ot]WEB系统中,关键字过滤的部分通常你们都怎么做呢?

风向标

针对特有的国情,在我这边的一套cms系统设计中有关键字过滤这块

程序是python做的,尽管问题和python关系不大

目前我能想到的方法有三:


1 提交进数据库时,进行全文关键字替换。用****代替,然后存入数据库

缺点:永久性替换,此后关键字的变更也无法追加前朔.

2 数据库中存储原文,显示时由系统进行替换显示,用*****代替关键字。

缺点:系统需要承担每一次显示时,关键字替换的性能付出。

3 交给js处理,由浏览器端承担屏蔽。

缺点:基本上属于糊弄有关部门的设计,禁用js就直接反屏蔽了。



请问下成熟的系统都怎么做的呢?比如dz论坛是怎么做的呢?

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug
http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] [ot]WEB系统中,关键字过滤的部分通常你们都怎么做呢?

Zoom.Quiet
在 2011年11月7日 下午5:06,风向标 <[hidden email]> 写道:

>
> 针对特有的国情,在我这边的一套cms系统设计中有关键字过滤这块
>
> 程序是python做的,尽管问题和python关系不大
>
> 目前我能想到的方法有三:
>
>
> 1 提交进数据库时,进行全文关键字替换。用****代替,然后存入数据库
>
> 缺点:永久性替换,此后关键字的变更也无法追加前朔.
>
> 2 数据库中存储原文,显示时由系统进行替换显示,用*****代替关键字。
>
> 缺点:系统需要承担每一次显示时,关键字替换的性能付出。
>
2.1 原文和和谐文都存一份儿
    - 作者编辑时,用原文
    - 显示时,根据不断增补的和谐词列表,进行显示

> 3 交给js处理,由浏览器端承担屏蔽。
>
> 缺点:基本上属于糊弄有关部门的设计,禁用js就直接反屏蔽了。
>
4. 交给前端缓存
    - 所有显示的内容,将和谐列表应用后的和谐版放在缓存中
    - 除非有变化,否则,永远从缓存中取
    - DB 中只放原文+和谐词列表

>
>
> 请问下成熟的系统都怎么做的呢?比如dz论坛是怎么做的呢?
>
> --
> 来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
> 发言: [hidden email]
> 退订: [hidden email] (向此发空信即退!)
> 详情: http://code.google.com/p/cpyug/wiki/PythonCn
> 严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
> 强烈: 建议使用技巧: 如何有效地报告Bug
> http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
>



--
人生苦短, Pythonic! 冗余不做,日子甭过!备份不做,十恶不赦!
俺: http://about.me/zoom.quiet
文字协议: http://creativecommons.org/licenses/by-sa/2.5/cn/

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug
        http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] [ot]WEB系统中,关键字过滤的部分通常你们都怎么做呢?

Zoom.Quiet
在 2011年11月7日 下午5:10,Zoom.Quiet <[hidden email]> 写道:

> 在 2011年11月7日 下午5:06,风向标 <[hidden email]> 写道:
>>
>> 针对特有的国情,在我这边的一套cms系统设计中有关键字过滤这块
>>
>> 程序是python做的,尽管问题和python关系不大
>>
>> 目前我能想到的方法有三:
>>
>>
>> 1 提交进数据库时,进行全文关键字替换。用****代替,然后存入数据库
>>
>> 缺点:永久性替换,此后关键字的变更也无法追加前朔.
>>
>> 2 数据库中存储原文,显示时由系统进行替换显示,用*****代替关键字。
>>
>> 缺点:系统需要承担每一次显示时,关键字替换的性能付出。
>>
> 2.1 原文和和谐文都存一份儿
>    - 作者编辑时,用原文
>    - 显示时,根据不断增补的和谐词列表,进行显示
>
>> 3 交给js处理,由浏览器端承担屏蔽。
>>
>> 缺点:基本上属于糊弄有关部门的设计,禁用js就直接反屏蔽了。
>>
3.1 在编辑界面中用JS 提醒所有不和谐的
    - 优点:DB 中只有已经被作者人肉和谐过的
    - 问题: 可能历史文章中有不和谐的

> 4. 交给前端缓存
>    - 所有显示的内容,将和谐列表应用后的和谐版放在缓存中
>    - 除非有变化,否则,永远从缓存中取
>    - DB 中只放原文+和谐词列表
>> 请问下成熟的系统都怎么做的呢?比如dz论坛是怎么做的呢?

- 嗯嗯嗯,俺还知道有种最和谐的:
    - 所有内容导为 gif 图片输出
    - 是否和谐就只有人肉5毛知道了...

--
人生苦短, Pythonic! 冗余不做,日子甭过!备份不做,十恶不赦!
俺: http://about.me/zoom.quiet
文字协议: http://creativecommons.org/licenses/by-sa/2.5/cn/

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug
        http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] [ot]WEB系统中,关键字过滤的部分通常你们都怎么做呢?

风向标
这倒是个不错的好办法

双份储存这个。

然后定期把和谐文和关键字进行对比维护?

ZQ是这个意思吧?

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug
http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html