zoukankan      html  css  js  c++  java
  • PHP面试:常见Web攻击方式及防御方案

    XSS(Cross Site Script)

    跨站脚本攻击,指攻击者在网页中嵌入恶意脚本程序。

    防御
    • 客户端及服务端用户的输入数据进行双重验证
    • 将输入的数据进行转义处理,如将用户数据转换成HTML实体。

    SQL注入(SQL Injection)

    将sql命令伪装成正常的http请求参数,传递到服务器端,服务器执行sql命令造成对数据库进行攻击

    防御
    • 数据库操作进行预处理
    • 首先使用占位符定义使用的 sql 代码,之后再将每个参数传递给查询语句
    • 使用语言或框架自带的存储程序,而不是自己直接操纵数据库

    CSRF(cross site request forgery)

    跨站请求伪造,指通过伪装成受信任用户进行访问,比如我访问了A网站,然后cookie存在了浏览器,然后我又访问了一个流氓网站,不小心点了流氓网站一个链接(向A发送请求),这个时候流氓网站利用了我的身份对A进行了访问,成功通过了A网站的用户验证。

    防御
    • 之所以被攻击是因为攻击者利用了存储在浏览器用于用户认证的cookie,那么如果我们不用cookie来验证就可以预防了。我们可以采用token(不存储于浏览器)认证。
    • 通过referer识别,HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器基此可以获得一些信息用于处理。

    DDOS

    分布式拒绝服务攻击(Distributed Denial of Service),简单说就是发送大量请求是使服务器瘫痪。

    防御
    • 增加带宽。但是攻击者用各地的电脑进行攻击,他的带宽不会耗费很多钱,但对于服务器来说,带宽非常昂贵
    • 云服务提供商有自己的一套完整DDoS解决方案,并且能提供丰富的带宽资源

  • 相关阅读:
    Nginx 301重定向域名
    linux中set的用法
    Linux下Oracle中SqlPlus时上下左右键乱码问题的解决办法
    PLSQL Developer连接远程oracle配置
    linux vnc 安装
    关于innodb_thread_concurrency参数 并发控制
    MySQL auto_increment的坑
    MongoDB常用操作命令大全
    MySQL集群Percona XtraDB Cluster安装搭建步骤详解
    3台服务器Redis高可用哨兵模式实现(转)
  • 原文地址:https://www.cnblogs.com/jiaoran/p/12560046.html
Copyright © 2011-2022 走看看