千家信息网

WEB开发中常见漏洞防御方法是什么

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章的内容主要围绕WEB开发中常见漏洞防御方法是什么进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!SQL
千家信息网最后更新 2025年12月01日WEB开发中常见漏洞防御方法是什么

这篇文章的内容主要围绕WEB开发中常见漏洞防御方法是什么进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!

SQL注入漏洞

  • SQL注入漏洞产生原因及危害

  • 在sql查询中很多程序员会将变量拼接入sql语句后再进行查询,这样如果黑客在参数中插入其他sql语句就可能导致我们网站的密码被被黑客查询出来或者被拖取大量数据,如果在开发中使用了字符串拼接进SQL语句就必须进行严格的过滤,任何用户输入的内容都不可信任,以下列举几种防御方法。

数字型查询注入防护

查询例子如下

如果是这样的数字型注入我们可以强制将传入参数转换为整数,以剔除黑客拼接的SQL语句。修改如下

这是这个网页正常查询的返回的结果。

这是一个典型的数字型注入,我们输入注入语句可见注入成功

我们强制转换类型到代码中:

我们再执行注入可以看到恢复正常查询,注入失败。

非数字型注入防护-通用防护

如果查询参数不是数字,那么我们该如何防护呢,那么这里可以使用通用型防护,对数字型和非数字型同样适用,我们知道web中获取参数的方式主要有三种分别是get、post、cookie。那么我们防护的主要方面也是这三个方面,我们可以对网站的所有流量进行黑名单过滤。当然这个也可以拦截xss漏洞。具体流程如下:

具体实现代码:

测试

同样我们在原先的网站上将我们的waf.php文件包含进去,在执行注入操作,可见我们已经将非法操作拦截。

使用预处理对注入进行防护

PHP预处理查询的例子

  • 预处理的优点

  • 预处理语句大大减少了分析时间,只做了一次查询(虽然语句多次执行)。

  • 绑定参数减少了服务器带宽,你只需要发送查询的参数,而不是整个语句。

  • 预处理语句针对SQL注入是非常有用的,因为参数值发送后使用不同的协议,保证了数据的合法性。

XSS漏洞的防护

  • xss漏洞产生的原因及危害

  • xss漏洞和sql注入一样也是注入型漏洞,主要是黑客在网页中注入恶意的js代码,可以导致我们的cookie被盗取,黑客通过cookie欺骗就能轻松登陆我们的后台,黑客也可以利用js进行挂马、黑帽seo、攻击客户计算机等操作危害十分严重。那么如何防御呢,我将讲解两种主要防御方法。

  • xss分类

  • xss主要分为反射型,储存型、和DOM型

转义 htmlspecialchars()

我们知道在数据库查询出来的数据可以打印到网页上,但是数据可能是用户在注册或者输入其他表单输入的,那么这里用户可能输入的是js或者html代码,这里就可能导致,用户输入的代码在浏览器中被解析并执行,那么我们这就可以通过 htmlspecialchars()将其转义为不可解析的字符串,从而避免此类攻击。

这是一个模拟存在xss漏洞的网页。我们进行模拟攻击和修复。

我们传入一个xss攻击代码,可见直接获取了当前网页的cookie内容

那我们在输出时候给$id加上htmlspecialchars()呢

我们可以明显看到浏览器不再解析我们传入的js代码,而是将它当做普通字符串输出。

通用型防护

将我们sql注入的通用型防护waf.php包含到该网页同样可以实现过滤。

CSRF漏洞的防御

  • CSRF漏洞产生的原因和危害

  • CSRF漏洞主要是我们的网站没有对表单验证,这个表单是不是我们网站自己本身提交的,如果有一个改密码的表单被人构造并放在了其他人的网站上,我们在打开这个黑客精心构造的域外表单时候就导致了我们本身的密码被修改,黑客也可以通过CSRF漏洞进行蠕虫式传播,新浪微博就曾遭遇过此类攻击,黑客精心构造表单,当你打开这个表单的链接时候就会自动发送一条微博,其他人打开同样进行这样的操作。

TOKEN防护

我们如何验证这个表单是不是我们自己网站本身提交的呢,那么我们可以在每个表单下生成一个隐藏的input表单存放一个TOKEN,在进行表单提交时会验证这TOKEN是否在SESSION上,如果在就执行这个表单的操作,如果TOKEN不在或者根本没提交TOKEN那么说明表单是伪造的,我们直接截断操作。具体流程如下:

防护代码编写:

测试

  • 我们分别写两个文件分别是index.php用于提交表单,xss.php用于验证表单

  • index.php

xss.php

可以看到我们代码非常简单,只要我们通过动态的TOKEN验证,那就会输出check success,否则输出NO-TOKEN!

首先我们直接提交表单是没有问题的直接返回成功

但是我们F12将TOKEN值删除再提交呢?

可以看到会直接截断

web防御中的代码安全:

感谢你的阅读,相信你对"WEB开发中常见漏洞防御方法是什么"这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注网站!小编会继续为大家带来更好的文章!

表单 漏洞 查询 防护 代码 语句 黑客 网站 防御 参数 数字 网页 输入 数据 攻击 预处理 验证 方法 内容 用户 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 万家乐one连不上服务器 北京德诚汇互联网科技有限公司 谷歌游戏服务器更新中 软件开发公司哪个职务薪酬高 武山县网络安全工作会 阿里云服务器换配置要备案吗 数据库中账号的列名 如何招聘网络技术员 本机数据库 10061错误 正大天晴数据库管理 atm机有没有用到无线网络技术 上海交友软件开发需要多少钱 个人计算机网络安全策略 我爱祖国和网络安全黑板报 军人网络安全动画 国家网络安全宣传周主题教育班会 精锐纵横网络技术 软件开发报价大全图片 双11 服务器 博途新建opc服务器 建立术语数据库的一般原则与方法 窃取竞争对手数据库罪 大同软件开发均价 app如何修改服务器ip 自己买云服务器有什么用 滴滴网络安全审查不通过怎么办 南宁市东晴网络技术有限公司 阿里云服务器换配置要备案吗 国资委占股的网络安全公司 手机按键精灵 新建数据库
0