php – 我对SQL注入安全吗?

我正在使用一个简单的cms作为我的网站的后端,我可以更新新闻等.我希望从sql注入中安全,所以我想知道这段代码是否被认为是安全的,或者我是否可以做些什么来使它更安全:

if($_POST) {
    if(isset($_POST['title']) and (isset($_POST['content']) and     ($_POST['added']))) {
        $title = "'".MysqL_real_escape_string($_POST['title'])."'";
        $content = "'".MysqL_real_escape_string($_POST['content'])."'";
        $added = "'".MysqL_real_escape_string($_POST['added'])."'";

        if(isset($_POST['id']) && $_POST['id']!=''){
            $result = MysqL_query("UPDATE news SET title = ".$title.",     added =".$added.", content = ".$content."  WHERE id = ".$_POST['id']);
            $msg = "News Updated Successfully";
        }else{
            $result = MysqL_query("INSERT INTO news (title, content, added) values($title, $content, $added)") or die("err0r");
            $msg = "News Added Successfully";
        }
    }

谢谢,祝你有个美好的一天!

解决方法:

你没有消毒$_POST [‘id’].

如果ID不是整数(假设ID是int字段),则对其执行intval()或(更好)拒绝处理.

if (!is_numeric($_POST['id'])
 die ("Invalid ID");

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...