简单防止sql注入

本文通过一个PHP示例展示了如何使用安全的方法从数据库中查询特定记录。通过intval()和htmlspecialchars()函数确保了输入的安全性,防止了SQL注入攻击。介绍了正确的参数类型转换及特殊字符转义的重要性。
<?php
$db = new mysqli('127.0.0.1','root','123456','project_myedusoho_admin') or die('错误:'.mysqli_connect_error());
if($_GET){
    //$sql = "select * from js_admin where id = {$_GET['id']}";
    //这里这样写的话容易被人sql注入攻击
    $id  = $_GET['id'];
    $id = intval($id);//将接受的数据(post也一样)全部转化为整数型,
    $id = htmlspecialchars($id);//除去所有特殊<>等符号
    if ($id>0) {
        $sql = "select * from js_document where id = $id";
        $db->set_charset('utf8');
        $res = $db->query($sql) or die("错误".$db->error);
        $r = array();
        while($row = $res->fetch_assoc()){
            $r[] = $row;
        }
        //var_dump($r);
        foreach($r as $k => $v){
            echo $v['title'];
        }
    }
    
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值