- 分享
- 0
- 人气
- 0
- 主题
- 6
- 帖子
- 548
- UID
- 99797
- 积分
- 397
- 阅读权限
- 15
- 注册时间
- 2007-9-17
- 最后登录
- 2015-7-15
- 在线时间
- 4635 小时
|
来玩玩
把 php 代码写成 字串, pass 进去就会执行。
使用这个利少弊多。 少用也不 ...
宅男-兜着走 发表于 2011-9-28 02:43 PM
基本上如果你的网站其中一个php文件出现突然出现类似这样的代码 <?php eval($_POST[cmd];?> 的话,那么就恭喜你,你被黑客入侵,且留下了后门,这个俗称 ”一句话后门“- $id = $_GET['id']; //未过滤
- $sql = "select * from product where id=$id";
- $result = mysql_query($sql);
复制代码 以上这个例子,mysql_real_escape_string()起不了作用,因为where id=$id是interger,注入时根本不需要用到‘”等危险字符
解决方法有两种,一个是- $id = intval($_GET['id']);
复制代码 或- $id = mysql_real_escape_string($_GET['id']); //在危险字符前加个 \
- $sql = "select * from product where id='$id'"; //用开关单引号闭合$id,不管是integer或string,都建议这样使用
- $result = mysql_query($sql);
复制代码 |
|