- 5
- 0
- 约8.97千字
- 约 3页
- 2017-06-04 发布于河南
- 举报
Ewebeditor及fckeditork单引号的题目
Ewebeditor及fckeditork,90%的网站都是采用这两种编辑器作为产品或者内容的说明部分的编辑窗口,近日,一客户的外贸站点基本上快完工了,因客户产品分类多,故而让客户自己在后台添加产品,但是客户反映,在后台添加产品时,如果产品说明内容太过复杂的话,产品怎么也添加不入数据库中。
当时,我们也好生郁闷,这到底怎么回事,我们亲自测试后台添加任意的产品或者文字都能成功,偏偏他就不行,在网站搜索了相关的如“Ewebeditor 不能添加到数据库”,似乎找到了一点答案,因Ewebeditor自身没对单引号过滤,导致了添加不到数据库的问题。于是乎,我们把编辑器换成了fckeditork,可是还是不行,那是Ewebeditor及fckeditork自带的不完善导致的吗?为什么一个简单的单引号会引发不能添加到数据库呢,想到这里,我们想到了分析下入库代码,我们采用的是SQL=insert into product(title,content) values( request(title) , request(content) )的写法,于是我们找到客户当时COPY进编辑器里的内容,发现,果然这内容中包括有单引号,原来,正是由于客户提交到编辑器里的内容中含有单引号,导致我们的SQL语句变化了,相当于原来是SQL=insert into product(title,content) values(内容 ,内容 )变成了SQL=insert into product(title,content) values( 内容 , 内容 ),我们细看就知道,就因为这content里多了个单引号,SQL语句发生的严重的写法错误,但是,我们也奇怪,既然他写法错误,为什么SQL语句不给出错误提示呢,竟然也会提示操作成功,想到这里,我们想到了2003年那几年,普遍的小黑客喜欢用的 or = or 的后台入侵法,是乎正是利用了SQL执行时,没过滤单引号的BUG,导致SQL怎么执行,结果都返回真,呵呵,没想到,原以为写程序尽量图个简单明了,也是个错啊。好了,问题找到了,以后,凡是SQL入库前,我们都把字段过滤后再传值,就不会再出这样的问题了,下面是一个非常完善的SQL安全过滤函数,大家直接拿去就可以调用了。
Function HTMLEncode(Str)?If Isnull(Str) Then???? HTMLEncode = ???? Exit Function ?End If?Str = Replace(Str,Chr(0),, 1, -1, 1)?Str = Replace(Str, , quot;, 1, -1, 1)?Str = Replace(Str,,lt;, 1, -1, 1)?Str = Replace(Str,,gt;, 1, -1, 1) ?Str = Replace(Str, script, #115;cript, 1, -1, 0)?Str = Replace(Str, SCRIPT, #083;CRIPT, 1, -1, 0)?Str = Replace(Str, Script, #083;cript, 1, -1, 0)?Str = Replace(Str, script, #083;cript, 1, -1, 1)?Str = Replace(Str, object, #111;bject, 1, -1, 0)?Str = Replace(Str, OBJECT, #079;BJECT, 1, -1, 0)?Str = Replace(Str, Object, #079;bject, 1, -1, 0)?Str = Replace(Str, object, #079;bject, 1, -1, 1)?Str = Replace(Str, applet, #097;pplet, 1, -1, 0)?Str = Replace(Str, APPLET, #065;PPLET, 1, -1, 0)?Str = Replace(Str, Applet, #065;pplet, 1, -1, 0)?Str = Replace(Str, applet, #065;pplet, 1, -1, 1)?Str = Replace(Str, [, #091;)?Str = Replace(Str, ], #093;)?Str = Replace(Str, , , 1, -1, 1)?Str = Replace(Str, =, #061;, 1, -1, 1)?Str = Replace(Str, , , 1, -1, 1)?Str = Replace(Str, select, sel#
您可能关注的文档
- b2c网站.doc
- BACKPACK四年级英语第一学期期末试卷.doc
- BEC测验常用白话.doc
- Blitz templates:最快的PHP模板引擎.doc
- BIPAP机械通气.doc
- book 1 词组.doc
- BOD5测定的影响因素分析.pdf
- Book10 Unit1--4测试题.doc
- axis2急速入门.doc
- BOOK 1 UNIT 1 单元达标检测题.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 交流转辙机道岔动作电流故障曲线分析信号集中监测课件.pptx VIP
- 2025届东北三省三校高三下学期第一次联合模拟考试政治试题(原卷版+解析版).docx VIP
- 养老服务质量检测90项.pdf VIP
- 光谱分析图谱与标志.docx
- 2025新课标中考英语词汇.pdf VIP
- T_CNPHARS 0001-2025 群体药动学药效学分析标准操作规范.pdf VIP
- (2026年)血浆置换及血浆分离吸附护理要点PPT课件.pptx VIP
- 农村狗狗交配的全过程,让你看了有点不可置信.pdf VIP
- 医院培训课件:《死亡医学证明(推断)书》规范填写及死因链基础知识.pptx VIP
- 健康体检表样表最新文档.docx VIP
原创力文档

文档评论(0)