Rumah >pembangunan bahagian belakang >tutorial php > sql特殊字符有关问题新手各位大牛
sql特殊字符问题新手求助各位大牛
小弟初学php,不知道对用户在论坛提交的帖子,大家在后台入库前要对内容如何如理,还是直接入库
另外一个问题,就是向相互展示库里的内容,是不是直接sql查询出来后直接向用户展示,还是对库里内容特殊字符处理后展示。
第一次搞这个东西,不懂,还望各位大牛说说日常你们是怎么处理这个sql入库和调库里数据怎么处理后展示给用户?
谢谢大家,分不多,情真切,祝各位大牛生活开心!
------解决方案--------------------
htmlspecialchars($content);
htmlspecialchars_decode(); //展示前解码下
------解决方案--------------------
我知道的至少有两种攻击方式
1,sql注入
解决方法有不少,最起码的要对用户提交的数据的单引号转义。php有不少这样的函数例如mysql_escape_string(),htmlspecialchars(), addslashes()
2,XSS攻击
对于还需展示用户提交的数据,要严格转义HTML标记。否则,用户的发的帖子中若包含了HTML代码,比如<script>这儿的一些JS代码将被执行,他们可以窃取正常用户的COOKIE,更可能会获取session id,从而冒充合法用户,欺骗服务器。或者利用用户的机器对其它网站发起DDOS攻击</script>,直接展示的话就会被攻击。
解决方法如楼上所说,但不能用htmlspecialchars_decode()解码,否则前功尽弃
这些手段都是很常见的,如果不太理解,google上一搜大把的示例
------解决方案--------------------