我有关于WP的网站。此外,我在一个web服务中有一个帐户。我需要从这个web服务获得一个到我网站特定地址的请求。这是一个我想用自己的插件处理的webhook。
外部对网站的请求使用什么,wp-ajax
或WP REST API
? 我对处理这个请求的速度不感兴趣。我对安全方面的正确方式和普遍接受的做法感兴趣。
我有关于WP的网站。此外,我在一个web服务中有一个帐户。我需要从这个web服务获得一个到我网站特定地址的请求。这是一个我想用自己的插件处理的webhook。
外部对网站的请求使用什么,wp-ajax
或WP REST API
? 我对处理这个请求的速度不感兴趣。我对安全方面的正确方式和普遍接受的做法感兴趣。
每种方法都有各自的优缺点。您可能需要根据自己的需要进行选择。它们都很安全,否则它们就不会存在于核心。
Advantages
Disadvantages
<它不会产生任何用户友好的响应。输出是JSON格式的,在某些情况下不能使用JSON,例如用于SEO目的。然而,有些人可能会发现这是一个优势,与处理简单的文本输出相比,使用JavaScript和JSON需要更多的知识,管理AJAX是WordPress的古老AJAX处理程序,管理AJAX早在我记忆中就存在于core中,是core本身处理管理区域中请求的方式。Advantages
<它直接输出内容,可以在任何地方使用,甚至可以由搜索引擎使用。某些脚本(如Custombox)仅支持这种响应,它对登录和注销的用户有单独的功能。虽然您可以使用REST-API中的条件来实现这一点,但有些人可能会发现这很有用,因为您只需将其放入div
或您需要的任何地方Disadvantages
<由于输出是纯HTML(默认情况下),因此不应该(甚至可能不能)在API和应用程序开发中使用它。结论很难说应该使用哪一种,它们都是有用的处理程序,如果其中任何一种都不安全,那么它肯定不会在核心中存在这么多年。因此,不存在安全性问题,但如果您担心安全性,仍然需要SSL证书。性能、请求类型和开发平台决定了应该使用哪一个。
我知道有一些方法可以允许使用Rest API进行身份验证,但要使其正常工作需要付出额外的努力。
表示使用以下函数is_user_logged_in()
对于Rest API,它不能立即工作,但它可以通过AJAX方法工作。
因此,我的答案是,当您需要它从网站向自身发出请求时,例如,当JS需要一些数据时,通常最好使用AJAX方法,因为如果需要,您可以完全访问WP功能和身份验证。
如果您需要从第三方软件发出请求,该软件将有权访问您可以通过身份验证的用户登录名和密码
或
您不需要用户数据或来自网站的任何其他经过验证的数据,只需要简单的数据,如“热门帖子”,等等,然后使用Rest API。
我试图将产品价格(从数据库中提取)乘以cookie存储的货币,对应于切换语言。为了实现这一点,我使用了AJAX脚本和几种方法。问题在于方法currencyRates();尽管在测试环境中,一切都很正常(我使用的是子文件夹而不是子域),但在生产级方法上currencyRates(); 只是返回值1(在方法开始时初始化,当var_dump $rate 在foreach循环中,它给了我期望的值,但当我尝试返回时,它总是在开始变量处初始化的值$rate = 1). 发生了什么事?子域如何影响这种类型的脚本?数据库