2 jqsad jqsad 于 2016.02.24 13:57 提问

php写的论坛,要怎么保留用户发帖文本的原有样式同时又能防注入呢?

要防注入就不得不对用户输入的文本进行过滤,比如去掉一些标签什么的再存进数据库,但是这样一来再显示用户发帖内容的时候,原有的格式就被破坏了,麻烦各位老手指点应该怎么做。我用的thinkphp框架,还有kindeditor的插件,用I方法获取数据之后,那些什么加粗斜体颜色或者换行空格就都被破坏了。

1个回答

showbo
showbo   Ds   Rxr 2016.02.24 14:03
已采纳

富文本内容要替换掉js代码主要防止xss,不是防止注入,防注入参数化写数据库就好了,或者将单引号替换为实体对象

正则表达式过滤HTML危险脚本

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
PHP+HTML简单实现BBS论坛与回帖
本文主要讲述如何通过PHP+HTML简单实现BBS论坛和发帖/回帖的功能,这是提取我们php项目的部分内容。主要内容包括:         1.通过JavaScript和Iframe实现局部布局界面         2.PHP如何定义类实现访问数据库功能         3.实现简单的BBS论坛和发帖/回帖功能         由于这个项目是十个人在寒假完成,所以采用了SAE搭建在线的后台
PHP发帖机强大的发帖功能
此是PHP的发帖机通过测试可以用 软件不大 免安装版的·
Discuz X3 CURL 模拟登陆发帖
discuz x3.1环境 关闭登陆验证码 和发帖验证码 <?php $discuz_url = 'http://192.168.1.22/newd/upload/'; //论坛地址 $login_url = $discuz_url . 'member.php?mod=logging&action=login'; //登录页地址 $post_fields = array(); //以
DISCUZ!X2.5如何限制会员每天发帖数量
作为一位论坛管理员,最烦恼的莫过于垃圾帖子和大量无意义的灌水帖子。我们都会想尽办法与垃圾贴、灌水贴、广告贴做斗争,您解决不了这些问题,那么你的论坛永远也不会强大,看到满世界的这类垃圾帖子,试问,还有谁会耐着性子,继续浏览下去?站长们在想尽办法来防止垃圾帖子的泛滥、康盛的官方开发团队也在不断提供新方法、新功能为我站长供应强大的“弹药”,如防水墙,就是这种产物,而今天的重点不是讨论如何防水墙的,无忧主
Discuz!论坛教程之如何禁止/允许用户编辑自己发布的帖子
1、设置是否允许用户编辑主题 后台->全局->用户权限->允许用户随时编辑的帖子类型,如下图所示: 后台->用户->用户组编辑->帖子相关->编辑帖子时间限制(分钟),如下图所示: 说明:帖子作者发帖后超过此时间限制将不能再编辑帖,版主和管理员在 全局 - 用户权限 选择“允许用户随时编辑的帖子类型”后不受此限制,0 为不限制
为什么Discuz论坛新注册会员不能发帖
1、后台--用户--用户组--新手上路--详情--帖子相关--允许发新话题:是 2、后台--全局--注册与访问--访问控制--新手见习期限(小时):0 ps:另外新手会员是不能发带有URL的帖子的。如果想解除这项设置,请: 后台--全局--用户权限--防灌水发帖数:0 来源:http://www.5d6d.com/viewthread.php?tid=900339
php提交表单时如何保留多个空格及换行的文本样式
需求是:用户提交表单时屏蔽敏感词的功能。其中敏感词来自服务器端同一路径下的ciku.txt,敏感词通过"|"连接,例如"g|c|a",提交表单时替换敏感词,更重要的是,需要保持表单文本域中用户输入的多个空格及换行的样式,并原样输出
discuz源码研究—发帖
实现了浏览栏目列表和帖子列表之后,下面最重要的就是实现发帖功能,先看了看论坛网页版的html代码,提取出下面这些有用的代码:<html> <head> <script src="http://112.74.102.213/static/js/forum.js?A6S" type="text/javascript"></script> <meta charset="utf-8"
Discuz!论坛运营之如何开启发帖回帖@会员功能
Discuz!从X2.5版本开启就已经增加了发帖回帖@功能,后续的X3、X3.x版本都保留了此功能,但是很多站长都不知道在哪里启用,本文就介绍一下如何开启@会员功能: 一、给用户组开启发帖回帖@会员权限 依次进入用户—用户组—论坛相关—帖子相关进行设置,如下图: 这里设置当前用户组发帖回帖时可以@的数量,0表示关闭; 二、选择是否允许@所有人 开启会员的@功能后,默认
discuz登录,发布帖子,浏览帖子loadrunner脚本
vuser_init() { //服务器的IP地址 lr_save_string("192.168.159.144","IP"); return 0; } login() { //用户判断登录是否成功 int i; web_url("forum.php",