`
日光倾城。
  • 浏览: 86688 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

php防止sql注入

    博客分类:
  • php
阅读更多
  程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对
用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据
库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的
SQL Injection,即SQL注入。 受影响的系统:对输入的参数不进行检查和过滤的系统
SQL注入过程
正常来讲,我们通过地址接收一些必要的参数如:

hello.php?id=2  页面中我们会使用  2 写入到SQL语句中

正常情况:Select * From Table where id=2

如果我们对SQL语句熟悉,就知道2 我们可以替换成我们需要的SQL语句

如:and exists (select id from admin)
2、防止注入的几种办法
其实原来就是我们需要过滤一些我们常见的关键字和符合如:

Select,insert,update,delete,and,*,等等
例子:
function inject_check($sql_str) {
   return eregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file
|outfile', $sql_str);     // 进行过滤
}

或者是通过系统函数间的过滤特殊符号

Addslashes(需要被过滤的内容)
3、PHP其他地方安全设置
    1、register_globals = Off   设置为关闭状态
    2、SQL语句书写时尽量不要省略小引号和单引号
Select * From Table Where id=2       (不规范)
Select * From ·Table· Where ·id·=’2’       (规范)
3、正确的使用 $_POST $_GET $_SESSION 等接受参数,并加以过滤
4、提高数据库命名技巧,对于一些重要的字段可根据程序特点命名
5、对于常用方法加以封装,避免直接暴露SQL语句
分享到:
评论

相关推荐

    PHP防止SQL注入的研究.pdf

    【PHP防止SQL注入的方法】 1. **预处理语句(Prepared Statements)**:使用PDO或MySQLi扩展的预处理语句可以有效地防止SQL注入。预处理语句将查询结构与用户输入的数据分开,确保即使用户输入恶意代码,也无法改变...

    php防止SQL注入方法-个人学习篇

    ### PHP防止SQL注入方法详解 #### 一、引言 SQL注入是一种常见的Web应用程序安全漏洞,攻击者通过在输入字段中插入恶意SQL语句来控制数据库查询,从而获取敏感信息或者破坏数据。本文将深入探讨如何利用PHP语言来...

    php防止sql注入的方法详解

    PHP防止SQL注入的方法主要包括以下几点: 1. **预处理语句(Prepared Statements)**: 使用预处理语句是防止SQL注入的最有效方法之一。预处理语句将SQL结构与数据分开处理,确保数据不会干扰SQL语句的结构。在PHP...

    360提供的php防sql注入代码修改类

    为了防止SQL注入,我们需要遵循以下原则: 1. 使用预处理语句:预处理语句(如PDO或mysqli的预处理)可以使SQL语句和参数分离,有效避免注入攻击。 2. 参数化查询:与预处理类似,参数化查询能确保用户输入的数据...

    防止sql注入工具类l

    3. **使用安全库或工具类**:这里提到的“防止SQL注入工具类”可能是指一个专门用于处理SQL注入的PHP库。这个工具类可能提供了自动转义或参数化查询的功能,比如`mysqli_real_escape_string`函数,或者更高级的ORM...

    php和asp防止sql注入类

    首先,PHP防止SQL注入的主要方法是使用预处理语句(Prepared Statements)和参数化查询。预处理语句允许开发者提前编译SQL模板,然后在执行时传递变量作为参数,而不是直接拼接在SQL字符串中。这可以确保即使输入的...

    JS代码防止SQL注入的方法(超简单)

    在这个PHP示例中,我们使用了预处理语句和绑定参数的方式,这样即使攻击者在输入中尝试插入SQL代码,由于这些代码不会被当作SQL语句的一部分执行,因此能够有效地防止SQL注入。 总结起来,防止SQL注入需要前端与...

    discuz的php防止sql注入函数

    标题《discuz的php防止sql注入函数》中涉及的PHP安全编程知识点包括了PHP安全编码实践以及如何在Web开发过程中防御SQL注入攻击。SQL注入是数据库安全领域中的一种常见攻击手段,攻击者通过构造恶意的SQL代码片段,...

    php中防止SQL注入的方法

    php中防止SQL注入的方法,安全,PHP代码编写是一方面,PHP的配置更是非常关键。

    php登录中的防止sql注入方法分析_.docx

    以下是对PHP防止SQL注入的一些详细方法和策略的分析: 1. **参数化查询与预处理语句**: 使用PDO(PHP Data Objects)或MySQLi的预处理语句可以有效防止SQL注入。例如,使用`PDO::prepare()`创建预处理语句,并...

    php防止sql注入代码实例

    ### PHP防止SQL注入的方法与实践 #### 一、引言 在Web开发中,SQL注入是一种常见的安全攻击手段,攻击者通过将恶意SQL代码插入到应用程序的查询语句中,以此来操纵数据库执行非预期的操作。为了提高Web应用的安全...

    360提供的php防sql注入代码修改类.zip

    从360提供的PHP防SQL注入代码改成的一个类,从SQL注入和HTTP跨站两个方面入手,解决网站存在安全风险的问题,希望对朋友们有所帮助。如果小伙伴们有更好的解决方案,欢迎发布过来大家一起学习交流。

    PHP防止sql注入小技巧之sql预处理原理与实现方法分析

    本文实例讲述了PHP防止sql注入小技巧之sql预处理原理与实现方法。分享给大家供大家参考,具体如下: 我们可以把sql预处理看作是想要运行的 SQL 的一种编译过的模板,它可以使用变量参数进行定制。 我们来看下它有...

    php防止sql注入简单分析

    以下是一些PHP防止SQL注入的基本方法: 1. **预处理语句与绑定参数**: 使用预处理语句(如PDO或mysqli的预处理语句)是防止SQL注入的最佳实践。预处理语句将查询结构与用户输入数据分离,确保即使输入包含恶意SQL...

    PHP+Mysql 带SQL注入源码 下载

    这两个扩展都支持预处理语句,这是防止SQL注入的有效手段。 **预处理语句与参数绑定** 预处理语句是防止SQL注入的一种最佳实践。它允许开发者在执行SQL查询之前先定义好结构,然后将变量作为参数传递。这样,即使...

    php防止SQL注入详解及防范

    PHP是Web开发中常用的脚本语言,因此理解如何在PHP中防止SQL注入至关重要。 在PHP中,防止SQL注入的两个关键步骤是: 1. **数据过滤**:对用户输入进行验证和清理,确保输入的数据符合预期的格式。例如,如果你...

    sql注入讲解ppt.pptx

    2. Prepared Statement:使用 Prepared Statement 来防止 SQL 注入攻击。 3. LIMIT 和 OFFSET:使用 LIMIT 和 OFFSET 限制查询结果,防止敏感数据泄露。 4.Least Privilege:使用最小权限原则,限制数据库用户的权限...

    使用PHP实现防止sql注入功能

    使用PHP实现防止sql注入功能 一、 开发环境 1、环境搭建:Windows 7+Apache 2.4.18+MySQL 5.7.11+PHP 7.1.0。 2、文本编辑器:Sublime 3。 二、主要技术 本案例主要在PHP中分别使用PDO的quote()方法和prepare()...

Global site tag (gtag.js) - Google Analytics