千家信息网

如何理解php防注入及开发安全的原理

发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,本篇内容介绍了"如何理解php防注入及开发安全的原理"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1
千家信息网最后更新 2025年02月23日如何理解php防注入及开发安全的原理

本篇内容介绍了"如何理解php防注入及开发安全的原理"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1、PHP注入的基本原理
程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对 用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据 库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的 SQL Injection,即SQL注入。 受影响的系统:对输入的参数不进行检查和过滤的系统.

SQL注入过程
正常来讲,我们通过地址接收一些必要的参数如:
页面中我们会使用 2 写入到SQL语句中
正常情况:Select * From Table where id=2

PHP100.php?id=2
如果我们对SQL语句熟悉,就知道2 我们可以替换成我们需要的SQL语句
如:and exists (select id from admin)

2、防止注入的几种办法
其实原来就是我们需要过滤一些我们常见的关键字和符合如:
Select,insert,update,delete,and,*,等等
例子:

复制代码 代码如下:

function inject_check($sql_str) {
return preg_match('/select|insert|update|delete|/'|///*|/*|/././/|/.//|union|into|load_file|outfile/i', $sql_str); // 进行过滤
}


或者是通过系统函数间的过滤特殊符号
Addslashes(需要被过滤的内容)

3、PHP其他地方安全设置
register_globals = Off 设置为关闭状态
SQL语句书写时尽量不要省略小引号和单引号

复制代码 代码如下:

Select * From Table Where id=2 (不规范)
Select * From ·Table· Where ·id·='2' (规范)


提高数据库命名技巧,对于一些重要的字段可根据程序特点命名
对于常用方法加以封装,避免直接暴露SQL语句

正确的使用 $_POST $_GET $_SESSION 等接受参数,并加以过滤

"如何理解php防注入及开发安全的原理"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

代码 程序 语句 安全 数据 原理 内容 参数 系统 开发 就是 引号 情况 更多 用户 知识 程序员 过程 输入 不齐 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 惠山区正规网络技术特价 我的世界国际版服务器怎么弄中文 安卓软件开发技术价格 白云网络安全运维怎么选择 榆林市教育局网络安全知识竞赛题 小白摄像机提示无法连接服务器 网络安全管理 推荐书 手机请求服务器失败怎么解决 数据库系统概论视频姚老师 打零工互联网科技招聘 如何更改数据库创建日期 Ne不能建数据库了 服务器地址映射到外网安全 软件开发开发流程图 2022网络安全宣传 温州市鹿城区蔷斯网络技术工作室 政府机关网络安全实施方案 宁波专业服务器机柜 卫生健康信息中心网络安全材料 软件开发适用税率是多少 饥荒专用服务器只有英文吗 浪潮服务器硬盘亮红灯 网络安全职员访谈 安卓软件开发技术价格 交通运输运管所网络安全 软件开发外包驻场一天多少 matlab服务器仿真 数据库建议考什么证 计算机网络安全三大要素包括 安仁电脑软件开发薪资
0