如何将 php 代码插入数据库?

How to insert php codes into database?

我正在测试我的 mysql 代码漏洞。
这是 php 注入:

$myvar = "varname";
$x = $_GET['arg'];
eval("$myvar = $x;");

或任何其他 php 代码,如打击:

<?php mysqli_close($conn); ?>

我的目的是将它们插入数据库但不执行它们。
实际上,这些代码将由用户从 html 输入表单插入到数据库中,我想为用户显示它们。(比如消息)
问题:
问题是当我尝试将它们插入数据库时​​失败了,我的插入查询是这样的:

mysqli_query($conn,"INSERT INTO table (usr,id,message,date) VALUES ($usr,'$id','$message','$date')");

代码在$message.
我还应该添加这个验证函数:

function validate($data)
{
    stripslashes($data);
    htmlspecialchars($data);
    htmlentities($data);
    strip_tags($data);
    addslashes($data);
    return($data);
}

在将 $message 插入数据库之前,我已经通过此函数对其进行了验证 validate($message) 但即使这样也无法解决问题。


我已经搜索过,但是在 google!
中没有关于这个问题的结果 谁知道如何将代码插入 mysql 数据库?

使用 real_escape_string 函数转义您的输入数据:http://php.net/manual/en/mysqli.real-escape-string.php

现在您可以安全地创建一个合法的 SQL 字符串,您可以在 SQL 语句中使用它。

要在数据库中插入代码 php,请遵循以下选项: 1. 要插入数据,请使用 htmlspecialchars。示例:

$string = '<?php echo "Hello world"; ?>';
htmlspecialchars($string);
  1. 在read/get数据之前,使用htmlspecialchars_decode。示例:htmlspecialchars_decode($string);

    希望这可能对您有所帮助:-)