Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  php  >  正文 PHP常见安全问题及解决方法

PHP常见安全问题及解决方法

发布时间:2020-10-25   编辑:www.jquerycn.cn
jquery中文网为您提供PHP常见安全问题及解决方法等资源,欢迎您收藏本站,我们将为您提供最新的PHP常见安全问题及解决方法资源

1、SQL注入

SQL 注入是对您网站最大的威胁之一,如果您的数据库受到别人的 SQL 注入的攻击的话,别人可以转出你的数据库,也许还会产生更严重的后果。

解决方法:

主流的解决方法有两种。转义用户输入的数据或者使用封装好的语句。转义的方法是封装好一个函数,用来对用户提交的数据进行过滤,去掉有害的标签。但是,我不太推荐使用这个方法,因为比较容易忘记在每个地方都做此处理。

下面,我来介绍如何使用 PDO 执行封装好的语句( mysqi 也一样):

$username = $_GET['username'];   $query = $pdo->prepare('SELECT * FROM users WHERE username = :username');   $query->execute(['username' => $username]);   $data = $query->fetch();

2、XSS

XSS 又叫 CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往 Web 页面里插入恶意 html 代码,当用户浏览该页之时,嵌入其中 Web 里面的 html 代码会被执行,从而达到恶意攻击用户的特殊目的。

解决方法:

坚决不要相信用户的任何输入,并过滤掉输入中的所有特殊字符。这样就能消灭绝大部分的 XSS 攻击:

<?php   $searchQuery = htmlentities($searchQuery, ENT_QUOTES);

或者你可以使用模板引擎 Twig ,一般的模板引擎都会默认为输出加上 htmlentities 防范。

3、XSRF/CSRF

CSRF 是跨站请求伪造的缩写,它是攻击者通过一些技术手段欺骗用户去访问曾经认证过的网站并运行一些操作。

解决方法:

最常用的防御方法是生成一个 CSRF 令牌加密安全字符串,一般称其为 Token,并将 Token 存储于 Cookie 或者 Session 中。

每次你在网页构造表单时,将 Token 令牌放在表单中的隐藏字段,表单请求服务器以后会根据用户的 Cookie 或者 Session 里的 Token 令牌比对,校验成功才给予通过。

由于攻击者无法知道 Token 令牌的内容(每个表单的 Token 令牌都是随机的),因此无法冒充用户。

推荐教程:PHP视频教程

以上就是PHP常见安全问题及解决方法的详细内容,更多请关注jquery中文网其它相关文章!

  • 本文原创发布jQuery中文网,转载请注明出处,感谢您的尊重!
  • 您可能感兴趣的文章:
    PHP连接数据库失败的原因是什么?
    解决支付宝安全控件安装后还提示安装办法
    PHP常见安全问题及解决方法
    No input file specified.
    PHP上传文件过大$_FILES为空的解决方法
    Windows7/Vista/XP黑屏一键解决办法
    U盘经常无法安全卸载问题的解决办法
    360安全卫士打开驱动失败问题的解决方法
    12306购票提示:此网站的安全证书有问题 解决办法
    phpMyAdmin无法载入 mysqli 扩展,请检查 PHP 配置的解决方法

    [关闭]