我使用一个简单的 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']
.
Do an intval()
上,或者(更好)如果 ID 不是整数(假设 ID 是一个int
field).
if (!is_numeric($_POST['id'])
die ("Invalid ID");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)