【问题标题】:Wordpress plugin: a safe way to store mySQL query contitionsWordpress 插件:存储 mySQL 查询条件的安全方式
【发布时间】:2015-03-21 20:43:36
【问题描述】:

假设我想创建一个 wordpress 插件,它将从 wordpress 数据库中的插件自定义表中获取数据,并为每个帖子添加一些内容。这可能看起来像这样: SELECT * FROM $my_table WHERE time BETWEEN $prevoius_post_time AND $current_post_time ORDER BY time LIMIT 5000

应该有一种方法可以通过帖子编辑器修改此查询以添加一些额外的过滤器,所以我最终会得到类似的结果:

SELECT * FROM $my_table WHERE time BETWEEN $prevoius_post_time AND $current_post_time && $filter ORDER BY time LIMIT 5000,

其中$filer 可能类似于filterrow1 != 300 && filterrow2 >=7,它将在发布新帖子之前在后端使用表单 ($_POST) 创建。

现在我不确定在哪里存储 $filer 变量,因为我有点害怕 SQL 注入等。将 $filer 存储在帖子元 via update_post_meta() 中是否足够安全,然后用 @ 接收它987654326@函数实际查询前?

还是我错过了任何其他更好的方法? 由于过滤器可能变得非常复杂,我真的看不到任何将 $filter 存储为像 $key => $value 这样的数组并在每个请求上生成整个过滤器的方法。

【问题讨论】:

    标签: php mysql wordpress


    【解决方案1】:

    嘿嘿。 您可以使用$filter = mysql_real_escape_string($filter); 或者您可以使用 $wpdb 准备功能(查找 wordpress 手册)。它负责 sql 注入。

    【讨论】:

      猜你喜欢
      • 2021-11-18
      • 2011-03-18
      • 2011-06-25
      • 1970-01-01
      • 2012-06-14
      • 1970-01-01
      • 2014-07-11
      • 2014-03-01
      • 2012-05-09
      相关资源
      最近更新 更多