前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >初涉web安全

初涉web安全

作者头像
C4rpeDime
发布2018-09-28 10:59:07
5200
发布2018-09-28 10:59:07
举报
文章被收录于专栏:黑白安全

最近看了些web安全方面的文章,略有心得,写这篇文章来整理下思路,如有错误,恳请斧正

SQL注入

原理:在web表单中输入恶意sql语句

防御:对用户输入的进行处理,永远不要相信前端js对表单的验证,js是可以禁用的

主要方法:

使用框架自带方法(此类方法较为简便,因为大部分框架都为你做好了处理) 比如常用的tp框架可以使用数组查询条件,字符串查询预处理机制

使用PDO或mysqli预处理(此类方法较为繁琐,但是有些框架没有做安全处理或做的不好) 以下是PDO的示例(mysqli本人也没试过,只是听说可以(逃~)

$dbh = new PDO("mysql:dbname=test; host=127.0.0.1;charset=utf8", "user", "pass");//连接数据库,并设置本地PDO驱动编码格式

$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); //禁用模拟预处理(非常重要)

$dbh->exec("set names 'utf8'"); //设定mysql服务器编码格式

$sql="select * from test where name = ? and password = ?";//设定预处理语句

$stmt = $dbh->prepare($sql);//执行预处理

$stmt->bindParam(1, $id,\PDO::PARAM_INT);//绑定参数

$exeres = $stmt->execute(); //执行

$result = $stmt->fetchAll(); //得到结果集

echo json_encode($result);//输出

$dbh = null;//取消连接

XSS攻击

原理:在web表单中输入恶意js脚本

防御:对用户输入的进行处理,过滤特殊字符

主要方法:

使用框架自带方法 比如说tp框架:I('get.xxx')

使用PHP过滤函数 htmlspecialchars()转化html字符 htmlentities() 转化html字符 (5.6之后无区别) intval()获取变量的整数值 strip_tags 从字符串中去除 HTML 和 PHP 标记

添加收藏

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档