我已经通过PHP在我的网站上编写了一个小评论功能。我注意到存在巨大的安全风险。用户可以编写一些HTML / PHP / MySQL并将其插入表中。有没有一种简单的方法可以防止这种情况发生?
这是我的PHP插入脚本:
<?php
if ( $_SERVER["REQUEST_METHOD"] == 'POST' ) {
$kommentar_neu = $_POST["kommentar"];
if (!empty($kommentar_neu)) {
$order = "INSERT INTO $db_kommentare
(kommentar, teilnehmer, kommentardatum, projektnummer)
VALUES
('$kommentar_neu', '$teilnehmer_name', '$zeiteingabe',
'$projektnummer_hw_order')";
}
}
?>
答案 0 :(得分:1)
您描述的问题称为“SQL注入”。有很多方法可以处理它,因此对于这种格式来说答案太长了,但谷歌搜索“SQL注入”应该让你开始。
在任何情况下,永远都不会(好吧,有一个值得注意的例外......)通过stringbashing创建SQL语句。使用参数创建预准备语句并将其传递。
一个好的起点可能是:
http://php.net/manual/en/security.database.sql-injection.php
这包括将SQL注入SQL,但所涉及的一些原则适用。
答案 1 :(得分:-3)
有各种方法可以用来防止这种事情。 $ your_variable;
tag
使用prepare语句创建sql查询。
希望它会对你有所帮助。快乐的编码。