【问题标题】:magic_quotes_gpc vs stripslashesmagic_quotes_gpc vs stripslashes
【发布时间】:2013-03-11 19:26:34
【问题描述】:

我有两种选择来存储我的 html 字符串:

  1. 关闭 magic_quotes_gpc 并使用 PDO 直接存储。
  2. 打开magic_quotes_gpc 并使用PDO 将我的html 字符串与斜线一起存储。然后,使用函数stripslashes(); 转换这些斜线

我需要知道这两种选择的优缺点,你推荐哪一种?我猜第一选择存在安全威胁。并用第二个选项加载到服务器上,但我需要知道专家怎么说。

【问题讨论】:

    标签: php pdo


    【解决方案1】:

    Magic Quotes are deprecated。不要使用它们。请改用 PDO 和 prepared statement

    附带说明,在这种情况下,您不应致电专家。如果 PHP 官方文档在一个大红框里写着不要使用这个特性,那就没有问题了。

    【讨论】:

    • 所以从这里.. 没有安全威胁如果我禁用了magic_quotes?我正在运行 5.3.9 并且魔术引号已开启!
    • @shnisaka magic_quotes 已被弃用,因为它们给人一种安全的错误印象。您不应该依赖此功能,如果您使用 PDO 或 MySQLi 扩展和准备好的语句,您将是安全的。
    【解决方案2】:

    我所做的是像这样使用 PDO:

    $stmt = $db->prepare('INSERT INTO table (firstname, lastname) VALUES (:firstname,:lastname)');
    $stmt->bindParam(':firstname', $firstname, PDO::PARAM_STR);
    $stmt->bindParam(':lastname', $lastname, PDO::PARAM_STR);
    $stmt->execute();
    

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-11
      • 1970-01-01
      • 2019-01-06
      • 1970-01-01
      • 2013-03-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多