{"id":26607,"date":"2021-04-26T12:08:00","date_gmt":"2021-04-26T09:08:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=26607"},"modified":"2021-10-18T03:54:47","modified_gmt":"2021-10-18T00:54:47","slug":"jak-korzystac-z-wordpressa-nonce","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pl\/jak-korzystac-z-wordpressa-nonce\/","title":{"rendered":"Jak korzysta\u0107 z WordPressa Nonce"},"content":{"rendered":"<h2>Czym jest WordPress Nonce?<\/h2>\n<p>Jak wspomniano w WordPress Codex, WordPress nonce to \u201eliczba u\u017cyta raz&quot;, aby chroni\u0107 adresy URL i formularze przed pewnymi rodzajami niew\u0142a\u015bciwego u\u017cycia, z\u0142o\u015bliwego lub innego.<\/p>\n<p>Jednorazowa warto\u015b\u0107 to nic innego jak token zabezpieczaj\u0105cy, kt\u00f3rego nale\u017cy u\u017cywa\u0107 podczas opracowywania, aby unikn\u0105\u0107 atak\u00f3w CSRF (cross-site request forgery).<\/p>\n<p>Podczas tworzenia motywu lub wtyczki nonce nale\u017cy u\u017cywa\u0107 w formularzu lub w adresie URL. Jako programista WordPress, u\u017cywanie nonce jest dobr\u0105 praktyk\u0105.<\/p>\n<h2>Jak u\u017cywa\u0107 Nonce w formularzu?<\/h2>\n<p>Jak wspomniano, nonce jest tokenem zapobiegaj\u0105cym atakom CSRF. Kiedy mamy do czynienia z formularzami, powinni\u015bmy doda\u0107 to nonce do naszych formularzy. Aby doda\u0107 jednorazow\u0105 warto\u015b\u0107 w formularzu, korzystamy z pola ukrytego.<\/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>W powy\u017cszym kodzie zast\u0105p FIELD_NAME i NONCE_NAME dowolnymi, kt\u00f3re chcesz.<\/p>\n<h3>Sprawd\u017a, czy niewa\u017cne?<\/h3>\n<p>Po dodaniu numeru jednokrotnego w formularzu nale\u017cy sprawdzi\u0107, czy podanie numeru jednokrotnego jest prawid\u0142owe po przes\u0142aniu formularza. WordPress udost\u0119pnia funkcj\u0119 wp_verify_nonce, aby sprawdzi\u0107 wa\u017cno\u015b\u0107 jednorazow\u0105.<\/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>Jak u\u017cywa\u0107 Nonce w adresie URL<\/h2>\n<p>Ataki CSRF mog\u0105 r\u00f3wnie\u017c wyst\u0105pi\u0107 na stronie internetowej za po\u015brednictwem adres\u00f3w URL. Ponadto w przypadku wra\u017cliwych stron nonce odgrywa wa\u017cn\u0105 rol\u0119. Powiedzmy, \u017ce mamy stron\u0119 ustawie\u0144 na stronie internetowej, kt\u00f3ra zawiera wra\u017cliwe dane, kt\u00f3re powinny by\u0107 chronione. Chcemy r\u00f3wnie\u017c zapobiec atakom CSRF. Wi\u0119c tworz\u0119 jednorazowy adres URL do ustawienia strony, post\u0119puj\u0105c w ten spos\u00f3b.<\/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>Sprawd\u017a, czy niewa\u017cne?<\/h3>\n<p>Teraz musimy zweryfikowa\u0107, czy podanie nonce jest prawid\u0142owe, czy nie. Mo\u017cemy to zrobi\u0107 w nast\u0119puj\u0105cy spos\u00f3b. Tutaj r\u00f3wnie\u017c u\u017cywamy funkcji wp_verify_nonce(), aby sprawdzi\u0107 wa\u017cno\u015b\u0107 jednorazow\u0105. Dodam poni\u017cszy kod na g\u00f3rze strony ustawie\u0144.<\/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>Mam nadziej\u0119, \u017ce rozumiesz, jak korzysta\u0107 z WordPress Nonce. Je\u015bli masz jakie\u015b pytania lub sugestie, zostaw komentarz poni\u017cej.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>U\u017cywanie WordPress Nonce w formularzu i adresie URL to dobra praktyka dla programist\u00f3w WordPress. W tym samouczku om\u00f3wimy, jak mo\u017cna u\u017cywa\u0107 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":[416,612],"tags":[847],"class_list":["post-26607","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-roznorodny","category-uncategorized-8","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/26607","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/comments?post=26607"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/26607\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media\/21785"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media?parent=26607"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/categories?post=26607"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/tags?post=26607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}