gpt4 book ai didi

php - 我可以免受 SQL 注入(inject)攻击吗?

转载 作者:可可西里 更新时间:2023-11-01 07:46:45 27 4
gpt4 key购买 nike

我使用一个简单的 cms 作为我网站的后端,我可以在其中更新新闻等。我想避免 SQL 注入(inject),所以我想知道这段代码是否被认为是安全的,或者我是否可以做些什么来让它更安全:

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']

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

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

关于php - 我可以免受 SQL 注入(inject)攻击吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5990100/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com