{"id":26547,"date":"2021-04-26T12:07:00","date_gmt":"2021-04-26T09:07:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=26547"},"modified":"2021-10-18T04:21:34","modified_gmt":"2021-10-18T01:21:34","slug":"como-usar-o-wordpress-nonce","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pt-pt\/como-usar-o-wordpress-nonce\/","title":{"rendered":"Como usar o WordPress Nonce"},"content":{"rendered":"<h2>O que \u00e9 WordPress Nonce?<\/h2>\n<p>Conforme mencionado no WordPress Codex, um nonce do WordPress \u00e9 um &quot;n\u00famero usado uma vez&quot; para ajudar a proteger URLs e formul\u00e1rios de certos tipos de uso indevido, malicioso ou outro.<\/p>\n<p>Um nonce nada mais \u00e9 do que um token de seguran\u00e7a que deve ser usado durante o desenvolvimento para evitar ataques CSRF (falsifica\u00e7\u00e3o de solicita\u00e7\u00e3o entre sites).<\/p>\n<p>Durante o desenvolvimento de um tema ou plugin, o nonce deve ser usado em um formul\u00e1rio ou URL. Como um desenvolvedor WordPress, usar o nonce \u00e9 uma boa pr\u00e1tica.<\/p>\n<h2>Como usar o Nonce em um formul\u00e1rio<\/h2>\n<p>Conforme mencionado, o nonce \u00e9 um token para evitar ataques CSRF. Ao lidar com formul\u00e1rios, devemos adicionar este nonce em nossos formul\u00e1rios. Para adicionar um nonce em um formul\u00e1rio, usamos o campo oculto.<\/p>\n<pre><code>&lt;input type=\"hidden\" name=\"FIELD_NAME\" value=\"&lt;?php echo wp_create_nonce('NONCE_NAME'); ?&gt;\"<\/code><\/pre>\n<p>No c\u00f3digo acima, substitua FIELD_NAME &#038; NONCE_NAME pelo que voc\u00ea quiser.<\/p>\n<h3>Verifique se o Nonce \u00e9 v\u00e1lido?<\/h3>\n<p>Depois de adicionar o nonce em um formul\u00e1rio, voc\u00ea precisa verificar se passar o nonce \u00e9 v\u00e1lido ou n\u00e3o ap\u00f3s o envio do formul\u00e1rio. O WordPress fornece uma fun\u00e7\u00e3o wp_verify_nonce para verificar a validade do nonce.<\/p>\n<pre><code>if (wp_verify_nonce( $_REQUEST['FIELD_NAME'], 'NONCE_NAME')) {\n\u00a0\u00a0\u00a0\u00a0\/\/safe to proceed\n} else {\n\u00a0\u00a0\u00a0\u00a0die('Security Check!');\n}<\/code><\/pre>\n<h2>Como usar o Nonce em URL<\/h2>\n<p>Os ataques CSRF tamb\u00e9m podem ocorrer no site por meio de URLs. Al\u00e9m disso, para p\u00e1ginas sens\u00edveis, o nonce desempenha um papel importante. Digamos que temos uma p\u00e1gina de configura\u00e7\u00f5es no site que cont\u00e9m alguns dados confidenciais que devem ser protegidos. Queremos impedi-lo de ataques CSRF tamb\u00e9m. Ent\u00e3o eu crio um URL nonce para a p\u00e1gina de configura\u00e7\u00e3o da seguinte maneira.<\/p>\n<pre><code>&lt;a href=\"&lt;?php echo wp_nonce_url(get_bloginfo('url').'\/settings', 'page-settings', 'setting-nonce'); ?&gt;\"&gt;&lt;\/a&gt;<\/code><\/pre>\n<h3>Verifique se o Nonce \u00e9 v\u00e1lido?<\/h3>\n<p>Agora, precisamos verificar se passar o nonce \u00e9 v\u00e1lido ou n\u00e3o. Podemos fazer isso da seguinte maneira. Aqui tamb\u00e9m estamos usando a fun\u00e7\u00e3o wp_verify_nonce() para verificar a validade do nonce. Vou adicionar o c\u00f3digo abaixo no topo da p\u00e1gina de configura\u00e7\u00f5es.<\/p>\n<pre><code>if (isset($_GET['setting-nonce']) &amp;&amp; wp_verify_nonce($_GET['setting-nonce'], 'page-settings')) {\n\u00a0\u00a0\u00a0\u00a0\/\/safe tp proceed\n}<\/code><\/pre>\n<p>Espero que voc\u00ea entenda como usar o WordPress Nonce. Se voc\u00ea tiver alguma d\u00favida ou sugest\u00e3o, deixe um coment\u00e1rio abaixo.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Usar o WordPress Nonce em formul\u00e1rio e URL \u00e9 uma boa pr\u00e1tica para o desenvolvedor WordPress. Neste tutorial, discutimos como usar o nonce.<\/p>\n","protected":false},"author":1,"featured_media":21785,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[417,613],"tags":[848],"class_list":["post-26547","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-diversos","category-uncategorized-9","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/26547","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/comments?post=26547"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/26547\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media\/21785"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media?parent=26547"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/categories?post=26547"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/tags?post=26547"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}