PHP使用htmlspecialchars方法实现像ASP的Server.HTMLEncode一样的效果
时间:2022-07-25
本文章向大家介绍PHP使用htmlspecialchars方法实现像ASP的Server.HTMLEncode一样的效果,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在PHP网页程序实际应用中,为了应对不断扫描的SQL漏洞扫描工具,我们应该对网页传递的参数进行一系列的处理。
第一步就是将获取来的参数转换为HTML实体,这样可以应对一些在参数中加入<script>或 sql语法重置的语句。
这时候在PHP中我们就需要一个类似于ASP的Server.HTMLEncode一样的方法。
PHP当然也有类似这样的方法那就是 htmlspecialchars,而且还提供一个转回方法 htmlspecialchars_decode()
官方说明:
从官方描述我们可以发现,它把预定的几个字符全部转换成为HTML实体,这几个字符就是SQL注入语句的命脉,不管怎么变,都需要有这几个字符。所以我们使用 htmlspecialchars完全可以作为防止SQL注入的第一步。
下面来看一个实例:
echo htmlspecialchars("<script>")
使用 htmlspecialchars 转换后我们得到的结果如下:
<script>gt;
可以看到 <> 这两个符号已经被转义为HTML实体了,这样最初期的 SQL注入里面的JS代码就跑不起来了。
当然要防止SQL注入这仅仅是第一步而已,我们还需要对获取的参数进行多次对比、替换、真实性检验等。不同的应用场景有不同的处置方式。以后在使用过程中碰到的话会再更新。
- Catch That Cow
- React技巧4(如何处理List里面的Item)
- ZOJ 3620 Escape Time II
- React技巧3(如何优雅的渲染一个List)
- FZU 电动车通行证制度
- 贪心算法总结贪心算法基本思路算法实现实例分析参考
- React技巧2(避免无意义的父节点)
- Havel定理
- React技巧1(状态组件与无状态组件的使用)
- zoj 1315 Excuses, Excuses!
- ZOJ 2724 Windows Message Queue(优先队列)
- React多页面应用7(引入eslint代码检查)
- Trie树
- React第三方组件1(路由管理之Router的使用⑤按需加载-下)
- HTML 教程
- HTML 简介
- html div 标签介绍
- html span 标签介绍
- html a 超链接标签
- HTML Br换行标签介绍
- HTML P段落标签介绍
- HTML br与p标签区别
- Html H 标题标签
- html px em pt长度单位
- HTML form 标签
- HTML radio 单选框
- HTML B 加粗标签
- HTML strong加粗粗体标签
- HTML em 强调标签
- HTML i 斜体标签
- HTML u下划线标签
- HTML s 删除线标签
- Html img 图片标签
- Html上标注sup与下标注sub标签
- HTML nobr 禁止换行标签
- HTML hr 水平线标签
- HTML label 标签
- HTML input 标签
- HTML textarea 标签
- HTML select下拉列表标签
- HTML checkbox 多选框
- HTML font color 标签
- HTML iframe 框架标签
- HTML Table 表格
- HTML dl dt dd 标签
- HTML ol li有序列表标签
- HTML ul li 无序列表标签
- HTML 注释
- CSS 教程
- CSS 简介
- CSS 语法
- CSS Id 和 Class选择器
- CSS 样式的创建
- CSS background 背景介绍
- CSS 文本样式
- CSS font 字体
- CSS A 链接
- CSS ul ol列表样式
- CSS TABLE 样式
- CSS 框模型
- CSS border 边框
- CSS Outlines 轮廓
- CSS 外边距 Margin
- CSS Padding 内边距
- CSS 分组和嵌套选择器
- CSS 尺寸 (Dimension)
- CSS Display 属性
- CSS Position 定位
- CSS Float 浮动
- CSS 水平对齐(Horizontal Align)
- CSS 组合选择符
- CSS 伪类
- CSS 伪元素
- CSS 导航栏
- CSS 下拉菜单
- CSS 图片廊
- CSS 图像透明/不透明
- CSS sprite 图像拼合技术
- CSS 媒体类型
- CSS 属性选择器
- CSS 实例
- spring boot 项目中自动执行 sql 语句
- 搭建简易的物联网服务端和客户端-邮件通知(十九)
- LeetCode37|两颗二叉搜索树中所有元素
- LeetCode45|数组中重复的数据
- 搭建简易的物联网服务端和客户端-网络控制(二十)
- LeetCode44|在每个树行中找最大值
- LeetCode43|最大层内元素和
- 搭建简易的物联网服务端和客户端-Maibu控制(二十一)
- LeetCode42|层数最深叶子节点的和
- LeetCode41|数组中数组出现的次数
- Django后台管理界面修改(源文件修改)
- 前端工程师不可不知的Nginx知识
- Django1.11 简单登录注册
- 基因表达聚类分析之初探SOM - 自组织特征图
- JMH - Java 代码性能测试的终极利器、必须掌握