如何正确清理/保护来自前端的WP查询

时间:2016-09-13 作者:somebodysomewhere

我的前端有一个元素,如下所示:

<div class="infinite-scroll" data-query-args=\'{"post_type":"post","tax_query":[{"taxonomy":"category","field":"term_id","terms":62}]}\'></div>
这是一个用来触发我制作的无限卷轴的容器。由于我希望它能够处理多个查询和多个前端情况,因此最简单的方法是将JSON编码的WP查询直接放在元素中,并在加载更多帖子时将其传递回服务器。

这对我来说就像是一个安全问题,那么如何确保这一点不被利用呢?我没有在DB中保存任何字符串,因此我不知道如何确保它的安全。

如果这是一个全方位的坏主意,那么我可以重新构造它,但我宁愿不要,因为查询可能会变得更复杂一些,包括标记、多个类别、搜索词等。我能想到的唯一合适的替代方法是为查询中的每个项目(数据发布类型、数据税查询等)创建一个数据标记,但这需要做更多的工作。

谢谢

1 个回复
SO网友:Tom J Nowell

唯一的方法是将允许的参数列入白名单,非常小心地限制它们,以免引入DOS攻击向量。

尽管如此,这并不是大多数无限滚动实现的构建方式,对于这些类型的请求,依赖WP-API-rest-API可能会有更好的结果

相关推荐

Wordpress login security

我已经在我的wp登录页面上设置了一个日志脚本。我注意到一个特定的ip地址——193.176.147.7一直在访问我的登录页面。葡萄球菌病总是快速连续,3次发作。这是我的插件在挂起ip之前允许的失败尝试数。我应该担心吗?我能采取什么预防措施吗?例如,阻止特定IP将有所帮助,或者我应该阻止某些范围的IP吗?我做了一个whatismyip。com查找,但他们没有任何信息。更改我的wp登录名。php对其他东西有帮助吗?