如何将 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);
在read/get数据之前,使用htmlspecialchars_decode。示例:htmlspecialchars_decode($string);
希望这可能对您有所帮助:-)
我正在测试我的 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);
在read/get数据之前,使用htmlspecialchars_decode。示例:
htmlspecialchars_decode($string);
希望这可能对您有所帮助:-)