gpt4 book ai didi

php - PHP 的 stripslashes 函数有什么意义?

转载 作者:可可西里 更新时间:2023-10-31 23:04:39 30 4
gpt4 key购买 nike

假设您有以下内容:

<?php

$connection = mysqli_connect("host", "root", "passwd", "dbname");

$habits = mysqli_real_escape_string($connection, $_POST['habits']);

?>

假设您为名为“习惯”的字段输入了值“拔河”。因此,mysqli_real_escape_string 函数将转义第二个引号,数据库引擎将不会误认为该值为“tug o”。相反,它会知道该值实际上是“拉锯战”。我的问题是,为什么你需要一个 stripslashes 函数? stripslashes 函数将简单地剥离 mysqli_real_escape_string 函数完成的好工作。去掉反斜杠只会让你回到原来的位置,数据库将再次被愚弄。我是否假设 stripslashes 函数不用于数据库目的?也就是说,这段代码会不会完全没有意义?:

<?php

$connection = mysqli_connect("host", "root", "passwd", "dbname");

$habits = mysqli_real_escape_string($connection, $_POST['habits']);

$undosomething = stripslashes($habits);

echo '$undosomething';

?>

如果 stripslashes 不用于数据库目的,那么它究竟用于什么?

最佳答案

(截至 2014 年)它仍然有它的用途。它并没有真正与数据库一起使用,但即使这样,也有用例。让我们假设,或使用 JavaScript 从表单发送数据,并且您有一个带有引号的字符串,例如“It's”。与通过 $_GET 超变量获取值相比,您将获得值“It's”。如果你使用 mysqli_real_escape_string() 或类似的(你必须使用它来保证安全),引号将被双重编码并且反斜杠将被保存到数据库中。对于这种情况,您将使用此功能。但它不是为了安全,也不一定与数据库一起使用。

关于php - PHP 的 stripslashes 函数有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27650246/

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