html 实体 => htmlspecialchars
因为没有办法判断用户输入的数据是否安全, 可能含有和sql语句相冲突的字符,比如 '  " < >,
那就有一个办法, 把这些特殊字符处理一下,比如吧空格符号变成 ,这样sql语句就安全了,并且浏览器完全可以识别这些符号。
用户的输入有2中情况,
1 文章输入,插入数据库, htmlspecialchars -> 把某些可能和和sql语句相冲突的字符转义,但又不影响在网页上显示
2 url输入,显示在页面. -> 这个时候更要多测试不同情况, 真有http://localhost/local/?name=%27onmouseover=%27alert(1)
-------
htmlspecialchars('abc', ENT_QUOTES)
和之前想象的不同,body field在full html模式下,什么代码都能输入,因为sql语句不会和具体的value发生关系,只会和id/name之类的发生关系。
dpm(htmlspecialchars('q\'q"q\'>\<'));
//q'q"q'>\<
dpm(htmlspecialchars('q\'q"q\'>\<',ENT_QUOTES));
//q'q"q'>\<
从这里可以看出htmlspecialchars的功能还包括吧\'这样的字符转成‘,然后看是否ent_quotes,决定是否把‘转成实体。
												
											html 实体 => htmlspecialchars的更多相关文章
- js把预定义的html字符串转换为 HTML 实体 htmlspecialchars 输出html实体内容包括标签,而不自动转义标签,只显示内容,类似php的htmlspecialchars
		
一.html字符串转换为 HTML 实体 htmlspecialchars function htmlspecialchars(str){ str = str ...
 - php中常用的字符串格式化函数
		
ltrim():从字符串左删除空格或其他预定义字符串 rtrim():从字符串的末端开始删除空白字符串或其它预定义字符 trim():从字符串的两端删除空白字符和其他预定字符 str_pad():把字 ...
 - jquery与php的HTML转义与反转义
		
1.jquery (1)Html转义 var tmp = '<a href="https://www.baidu.com/">连接</a>'; var tm ...
 - php 加密 解密 方法
		
base64 Base64编码可用于在HTTP环境下传递较长的标识信息 base64_encode base64_decodeserialize 可以将 ...
 - PHP字符串的处理(四)-HTML标签的字符串格式化
		
和html标签相关的字符串格式化 nl2br() //在字符串中每个新行"\n"之前插入html换行符"<br />" <?php echo ...
 - php 编码和解码的函数
		
URL: urlencode(); //编码 urldecode(); //解码 URL与数组互转: parse_url () http_build_query() base64: base64_en ...
 - 关于htmlspecialchars实体字符转码的问题
		
php对post过来的数据进行实体字符转码,我的页面编码是gb2312,刚开始是这样: $post = htmlspecialchars ( $post); 取到的$post值为空,但是有时候是好的( ...
 - html 实体和htmlspecialchars()
		
HTML 中的预留字符必须被替换为字符实体. HTML 实体 在 HTML 中,某些字符是预留的. 在 HTML 中不能使用小于号(<)和大于号(>),这是因为浏览器会误认为它们是标签. ...
 - xss绕过htmlspecialchars实体编码的姿势
		
倘若是在script.input标签当中,即可突破.Payload ' oninput=alert`1` // 当要在input中输入内容时触发事件' oninput=alert`1` ' ...
 
随机推荐
- PowerShell处理RSS信息
			
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 环境:Windows Server 2012 EN(解决PowerShell控制台中文乱码问题:方 ...
 - sysbench 0.5 oltp测试笔记
			
sysbench 0.5相比0.4版本的主要变化是,oltp测试结合了lua脚本,不需要修改源码,通过自定义lua脚本就可以实现不同业务类型的测试.同时0.5相比0.4需要消耗更多的cpu资源. 1. ...
 - Python3基础 print与,结合 一次输出多个数据
			
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
 - Cheatsheet: 2013 08.14 ~ 08.19
			
.NET Lucene.Net ultra fast search for MVC or WebForms site => made easy! C# State Machines HttpCl ...
 - Reading Csv Files with Text_io in Oracle D2k Forms
			
Below is the example to read and import comma delimited csv file in oracle forms with D2k_Delimited_ ...
 - lncRNA研究
			
------------------------------- Long noncoding RNAs are rarely translated in two human cell lines. ( ...
 - Hibernate——基础及XML配置
			
1.入门 hibernate是跟数据库打交道的,一般跟数据库打交道的都不简单 原始.底层直接的一些操作.编码量比较大.费时.用框架高效 把原来一点一点实现的东西,现在给个半成品,不用在这上边发时间,把 ...
 - ubuntu linux 使用常见问题
			
Q:gedit不支持windows下的中文显示 A:http://wiki.ubuntu.org.cn/Gedit%E4%B8%AD%E6%96%87%E4%B9%B1%E7%A0%81 Q:bash ...
 - 访问远程mysql数据库
			
使用mysql命令窗口模式/工具,比如需要给'10.2.9.239' 的用户分配mantis123,mantis123访问,则使用如下格式: GRANT ALL PRIVILEGES ON *.* T ...
 - MyEclipse Servers视窗出现“Could not create the view: An unexpected exception was thrown”错误解决办法
			
打开所在的wordspace文件夹,在下面子文件夹 .metadata\.plugins\org.eclipse.core.runtime\.settings\com.genuitec.eclipse ...