> 백엔드 개발 > PHP 튜토리얼 > sql特殊字符有关问题新手各位大牛

sql特殊字符有关问题新手各位大牛

WBOY
풀어 주다: 2016-06-13 13:38:10
원래의
806명이 탐색했습니다.

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()解码,否则前功尽弃

------解决方案--------------------
入库的内容,最起码要转义对数据库有歧义的字符'之类的。
控制住入口,相对来说就安全多了。
就像防火墙,杀毒软件一样。关键是防毒。查毒,可慢了
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿