WordPressAjax登录和nonce验证

大家好, 我正在努力实现以下目标– 1。我有一个自定义表单\"X\",需要登录才能提交。 2。我还有一个ajax登录表单。 工作流– 1。当一个未登录的用户来到自定义表单\"X\"时,他/她填写表单,当试图提交时,ajax登录弹出窗口打开,用户通过该ajax登录表单登录。之后,他们可以提交表单\"X\"。 问题– 我正在为表单\"X\"使用nonce,它为未登录的用户生成一个nonce值。但是在ajax登录完成之后,需要更新nonce值。我正在生成一个新的nonce后登录完成。但是nonce也不起作用,表单\"X\"无法进行nonce验证。 表单\"X\"的代码– Code of ajax login submission handle via admin-ajax.php function login(){//bail early if found suspecious with nonce verification.if ( !isset( $this->values[\"_login_nonce\"] ) || ! wp_verify_nonce( $this->values[\"_login_nonce\"], \"ajax_login\" ) = => wp_create_nonce(\"action_name\"),]);}}exit();} 您可以看到,通过ajax表单成功登录后,我再次使用表单\"X\"的相同nonce操作创建nonce,即wp_create_nonce(\"action_name\"),我打算在登录完成后将其注入表单\"X\"。 但不幸的是,当我尝试在ajax登录后验证表单\"X\"提交时,此nonce不起作用。我检查了浏览器,发现现在的不同。我将感谢社区的任何帮助。 谢谢! 您应该更改工作流。除非用户已登录,否则不要显示表单。>@非常感谢您的回复。然而,这不是一个编码解决方案。我不认为WordPress不能为这种情况提供解决方案。我期待一个编码解决方案,因为这是没有我的工作流程的问题。无论用户是否登录,我都必须允许他们填写表单。 考虑一下nonce是用来做什么的。您需要确保操作没有被劫持,并且用户打算对对象执行操作。 因此,在生成nonce时,您使用一些东西将用户与操作绑定。 好吧,当您在未登录的情况下填写表单时,您不能将用户与对象绑定,因为没有用户。这是不是意味着不应该有暂时的或没有形式? 在一个不被使用的表单中放置一个nonce是没有意义的。为了验证它,PHP必须能够计算相同的nonce。因此,尝试在AJAX中发送一个新的nonce是毫无意义的。AJAX函数如何知道它是真正的用户还是劫持? 你需要改变流程。 @高兴的是,换个方式说话没有意义。例如,可以使用nonce表单,因为有两个提交选项。未登录用户和登录用户都可以提交表单。未登录的用户将必须填写电子邮件id的。我的问题是,当注册用户决定在登录后提交表单时,我必须使他们能够在不刷新整个页面的情况下提交表单,这将导致他们重新输入表单中的所有数据。希望这有意义? 如果未登录的用户可以提交,则不要将链接放在AJAX登录上。 听起来您需要两个不同的操作挂钩,一个用于登录,另一个用于未登录,这是通过在挂钩名称中添加_priv来完成的。 @令人高兴的是,您似乎错过了我所说的要点。我已经在使用窗体\"X\"的两个钩子了。我只想在ajax登录后创建并返回登录的nonce。在这种情况下,这是返回,但这是不同的。如果您在这行下面看到我的代码>,您应该会得到它。 我刚刚在这里找到了解决方案–在stackoverflow上 主要问题是–在ajax登录成功后,使用旧会话cookie创建nonce,而会话会在下一个请求时更新。因此,在ajax登录完成后,我必须立即使用set_logged_in_cookie操作钩子来更新会话cookie。下面是代码– 添加u操作(\"set u logged u in u cookie\",\"my u update u cookie\");函数my u update u cookie($logged u in u cookie> 类似的问题几年前也在这个论坛上讨论过–Ajax登录nonce创建 谢谢!

admin_action_{$_REQUEST[‘action’]}

do_action( "admin_action_{$_REQUEST[‘action’]}" )动作钩子::在发送“Action”请求变量时激发。Action Hook: Fires when an ‘action’ request variable is sent.目录锚点:#说明#源码说明(Description)钩子名称的动态部分$_REQUEST['action']引用从GET或POST请求派生的操作。源码(Source)更新版本源码位置使用被使用2.6.0 wp-admin/admin.php:...

日期:2020-09-02 17:44:16 浏览:1162

admin_footer-{$GLOBALS[‘hook_suffix’]}

do_action( "admin_footer-{$GLOBALS[‘hook_suffix’]}", string $hook_suffix )操作挂钩:在默认页脚脚本之后打印脚本或数据。Action Hook: Print scripts or data after the default footer scripts.目录锚点:#说明#参数#源码说明(Description)钩子名的动态部分,$GLOBALS['hook_suffix']引用当前页的全局钩子后缀。参数(Parameters)参数类...

日期:2020-09-02 17:44:20 浏览:1065

customize_save_{$this->id_data[‘base’]}

do_action( "customize_save_{$this->id_data[‘base’]}", WP_Customize_Setting $this )动作钩子::在调用WP_Customize_Setting::save()方法时激发。Action Hook: Fires when the WP_Customize_Setting::save() method is called.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分,$this->id_data...

日期:2020-08-15 15:47:24 浏览:802

customize_value_{$this->id_data[‘base’]}

apply_filters( "customize_value_{$this->id_data[‘base’]}", mixed $default )过滤器::过滤未作为主题模式或选项处理的自定义设置值。Filter Hook: Filter a Customize setting value not handled as a theme_mod or option.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分,$this->id_date['base'],指的是设置...

日期:2020-08-15 15:47:24 浏览:892

get_comment_author_url

过滤钩子:过滤评论作者的URL。Filter Hook: Filters the comment author’s URL.目录锚点:#源码源码(Source)更新版本源码位置使用被使用 wp-includes/comment-template.php:32610...

日期:2020-08-10 23:06:14 浏览:927

network_admin_edit_{$_GET[‘action’]}

do_action( "network_admin_edit_{$_GET[‘action’]}" )操作挂钩:启动请求的处理程序操作。Action Hook: Fires the requested handler action.目录锚点:#说明#源码说明(Description)钩子名称的动态部分$u GET['action']引用请求的操作的名称。源码(Source)更新版本源码位置使用被使用3.1.0 wp-admin/network/edit.php:3600...

日期:2020-08-02 09:56:09 浏览:874

network_sites_updated_message_{$_GET[‘updated’]}

apply_filters( "network_sites_updated_message_{$_GET[‘updated’]}", string $msg )筛选器挂钩:在网络管理中筛选特定的非默认站点更新消息。Filter Hook: Filters a specific, non-default site-updated message in the Network admin.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分$_GET['updated']引用了非默认的...

日期:2020-08-02 09:56:03 浏览:858

pre_wp_is_site_initialized

过滤器::过滤在访问数据库之前是否初始化站点的检查。Filter Hook: Filters the check for whether a site is initialized before the database is accessed.目录锚点:#源码源码(Source)更新版本源码位置使用被使用 wp-includes/ms-site.php:93910...

日期:2020-07-29 10:15:38 浏览:828

WordPress 的SEO 教学:如何在网站中加入关键字(Meta Keywords)与Meta 描述(Meta Description)?

你想在WordPress 中添加关键字和meta 描述吗?关键字和meta 描述使你能够提高网站的SEO。在本文中,我们将向你展示如何在WordPress 中正确添加关键字和meta 描述。为什么要在WordPress 中添加关键字和Meta 描述?关键字和说明让搜寻引擎更了解您的帖子和页面的内容。关键词是人们寻找您发布的内容时,可能会搜索的重要词语或片语。而Meta Description则是对你的页面和文章的简要描述。如果你想要了解更多关于中继标签的资讯,可以参考Google的说明。Meta 关键字和描...

日期:2020-10-03 21:18:25 浏览:1708

谷歌的SEO是什么

SEO (Search Engine Optimization)中文是搜寻引擎最佳化,意思近于「关键字自然排序」、「网站排名优化」。简言之,SEO是以搜索引擎(如Google、Bing)为曝光媒体的行销手法。例如搜寻「wordpress教学」,会看到本站的「WordPress教学:12个课程…」排行Google第一:关键字:wordpress教学、wordpress课程…若搜寻「网站架设」,则会看到另一个网页排名第1:关键字:网站架设、架站…以上两个网页,每月从搜寻引擎导入自然流量,达2万4千:每月「有机搜...

日期:2020-10-30 17:23:57 浏览:1303