使用AJAX加载帖子时使用随机数

时间:2016-11-24 作者:dingo_d

这更像是一个安全问题。我有一个博客布局,在我的帖子底部有一个加载器,当你找到它时,会触发ajax调用,它会调用将呈现更多帖子的函数。

这一切都有效。但有一件事困扰着我:我应该使用POSTGET 方法这个GET 使用执行代码嗅探时不会触发nonce问题phpcs, 而与POST 我得到了

无需nonce验证即可处理表单数据

错误

现在,我所做的就是通过调用连接到wp_ajaxwp_ajax_nopriv 行动。

在这种情况下,我应该担心安全性,并在我的博客中附加一个nonce字段,还是只使用GET 方法替代?

1 个回复
最合适的回答,由SO网友:jgraup 整理而成

GET 将所有参数放在URL上,如;

http://example.com/thing?foo=bar&x=y
用于POST 您可以包含所有这些信息,但它不会显示在URL中。

http://example.com/thing
显然,如果你在考虑安全性,使用POST 更为理想,因为您的参数不会显示在访问日志中,也不会被搜索引擎意外获取。除了大量数据外,使用此方法发送密码更为理想。

但是你可以用什么来放松POST 正在缓存。某些系统不会缓存POST. 假设要在GET 请求您始终可以在缓存buster上抛出。

http://example.com/thing?foo=bar&x=y&cache=234234234
在哪里&cache=<current-time-or-random-number>. 也许这就是你想要更多帖子的原因。不要缓存它们,这样您就可以始终获取最新鲜的内容。不幸的是,如果你大规模地做任何事情,这个想法就会失败。缓存为王,控制缓存是理想的选择。

输入TTL (生存时间)您可以添加希望资源在另一端缓存的时间。

header(\'Expires: \'.gmdate(\'D, d M Y H:i:s \\G\\M\\T\', time() + (60 * 60))); // 1 hour
nocache_headers() // no caching

现在,对于你的情况,我认为你用哪一个都不重要。但要问自己的问题应该包括:;

是否要公开传递到URL的数据

相关推荐

尝试在WordPress中实现AJAX注释,遇到WP错误

我试图在WordPress中为我的评论实现Ajax,使用this tutorial. 但我在将教程中的代码集成到自己的预构建主题时遇到了问题。问题是,我要么得到一个WP错误“检测到重复注释;看来你已经说过了!”或标准500错误。以下是我得到的:下面是我对ajax的评论。js文件如下所示: * Let\'s begin with validation functions */ jQuery.extend(jQuery.fn, { /* * check i