gpt4 book ai didi

php - PHP 序列化对象数据对于 Mysql 注入(inject)是否干净?

转载 作者:行者123 更新时间:2023-11-29 04:30:31 26 4
gpt4 key购买 nike

如果我为 mysql 注入(inject)进行序列化,是否需要转义我的对象数据?

即:

class Object
{
public $description;
}

$obj = new Object();
$obj->description = mysql_real_escape_string("this is my crazy string with lot's of bad // characters");

$data = serialize($obj); // <-- $data will be stored in DB

或者这是否足够:

class Object
{
public $description;
}

$obj = new Object();
$obj->description = "this is my crazy string with lot's of bad // characters";

$data = serialize($obj);

最佳答案

是的,您必须对其进行转义(或使用准备好的语句)。

<?php
$obj = (object) array("--'--'" => "--'--");
var_dump(serialize($obj));

产量

string(44) "O:8:"stdClass":1:{s:6:"--'--'";s:5:"--'--";}"

如您所见,无法转义。

附带说明一下,您应该使用 mysqli新代码的扩展,而不是 mysql 扩展。

关于php - PHP 序列化对象数据对于 Mysql 注入(inject)是否干净?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3154121/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com