回复: [原创]插入高亮代码功能!(类似cnblogs)
原帖由 iyond 于 2007-7-20 15:06:00 发表
能说一下Discuz.ForumPage.dll这个里面都改动了哪些了吗?我也改了些代码,不能直接用你的覆盖
其实只是改了editpost.aspx.cs、postreply.aspx.cs 和 posttopic.aspx.cs 3个文件,由于要使用代码插入功能,所以不能
直接限制了所有HTML代码,我只是将保存时限制HTML代码的语句关了,然后在JS里去限制一些危险的代码
posttopic.aspx.cs文件的修改:
找到:
postinfo.Message = Utils.HtmlEncode(ForumUtils.BanWordFilter(postmessage));改为:
postinfo.Message = ForumUtils.BanWordFilter(postmessage);如果想安全一些,可以改为:
//如果有插入代码,则不过滤
if (DNTRequest.GetString("iscode")=="1")
postinfo.Message = ForumUtils.BanWordFilter(postmessage);
else
postinfo.Message = Utils.HtmlEncode(ForumUtils.BanWordFilter(postmessage));但这样改后,当帖子里没有插入高亮代码时,原来的UBB代码也会失效,所以我后来是直接全部去掉,然
后另外在JS文件里去过滤危险代码了
以下editpost.aspx.cs 文件改法一样:
找到:
postinfo.Message = Utils.HtmlEncode(ForumUtils.BanWordFilter(DNTRequest.GetString("message")));改为:
postinfo.Message = ForumUtils.BanWordFilter(DNTRequest.GetString("message"));postreply.aspx.cs文件:
找到:
postinfo.Message = Utils.HtmlEncode(ForumUtils.BanWordFilter(postmessage));改为:
postinfo.Message =ForumUtils.BanWordFilter(postmessage));完成!