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上一搜大把的示例------解决方案--------------------
探讨
我知道的至少有两种攻击方式 1,sql注入 解决方法有不少,最起码的要对用户提交的数据的单引号转义。php有不少这样的函数例如mysql_escape_string(),htmlspecialchars(), addslashes() 2,XSS攻击 对于还需展示用户提交的数据,要严格转义HTML标记。否则,用户的发的帖子中若包含了HTML代码,比如<script>这儿的一些……<br /></script>
------解决方案-------------------- 不可能直接入库...除非你希望过两天会有各种奇怪的链接和内容在你的论坛出现...
转义、编码都是常用的手段...
------解决方案--------------------
探讨
对于还需展示用户提交的数据,要严格转义HTML标记。否则,用户的发的帖子中若包含了HTML代码,比如<script>这儿的一些JS代码将被执行,他们可以窃取正常用户的COOKIE,更可能会获取session id,从而冒充合法用户,欺骗服务器。或者利用用户的机器对其它网站发起DDOS攻击</script>,直接展示的话就会被攻击。 解决方法如楼上所说,但不能用htmlspecialchars_decode()解码,否则前功尽弃
------解决方案-------------------- 入库的内容,最起码要转义对数据库有歧义的字符'之类的。
控制住入口,相对来说就安全多了。
就像防火墙,杀毒软件一样。关键是防毒。查毒,可慢了
Statement: The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn