防止HTML插入MySQL表

时间:2015-10-13 14:22:44

标签: php html mysql security sql-insert

我已经通过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')";
    }
    }
?>

2 个答案:

答案 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查询。

希望它会对你有所帮助。

快乐的编码。