第12课:黑客攻击与安全

安全是个很大的话题,也是一个很重要的话题,就像家家户户都有门,都要上锁一样,如果一个项目不考虑安全问题,是不可想象的
注意安全,总的原则就是:不要信任任何传入参数

1.首先我们先说下接口解密,当我向前端提供外网可访问的PHP接口的时候,一定要进行加密,不能随随便便一个人就可以访问
接口加密常用的加密方式有RSA,椭圆加密。RSA加密的例子点击下面链接下载

2.命令注入攻击
由于PHP提供了直接可以运行linux命令的函数,比如exec system。在使用这些函数的时候要小心,如果黑客可以直接linux命令,基本上可以得到他想要的所有东西

3.客户端脚本植入
页面展示数据的时候一般都要用htmlspecialchars函数处理一下,否则在用户提交的数据位代码情况下,展示时候会直接执行,带来安全隐患

4.SESSION劫持
SESSION劫持成功之后可以模拟登陆用户进行登陆,执行对应用户可以进行的操作,相当于盗号。
防范措施主要有加上cookie进行双重验证,设置独特的session_name等

5.防止SQL注入
PHP直接用PDO方式进行数据库操作,防止SQL注入,如果是直接拼接的SQL语句,要用addslashes函数进行处理,不要信任任何传入参数,不能直接把传入参数拼接到SQL语句中
如果你的项目用的是非PDO方式操作数据库,可以使用mysql_real_escape_string来对字符串参数进行转义
如果是确定的整形参数,可以直接用(int)$godeye 这种方式来强制类型转换,防止有可能的SQl注入

6.DOS攻击
主要通过请求来消耗服务器资源和带宽,导致正常用户无法访问
解决方案主要有2个,一个是提升硬件资源,另一个是购买一些专门的防DDOS攻击工具(主要也是通过提升硬件利用率与带宽来实现,也有一些简单的过滤规则,比如发现异常IP就封杀对应IP)像我们的官方网站:www.godeye.org就直接买了放攻击的产品

点击下载
打赏  如对你有帮助,请我喝杯咖啡吧!