{"id":230522,"date":"2022-12-12T13:03:00","date_gmt":"2022-12-12T10:03:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230522"},"modified":"2022-12-07T11:13:01","modified_gmt":"2022-12-07T08:13:01","slug":"kiirnouanne-desinfitseerige-postitusandmed-wordpressis","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/kiirnouanne-desinfitseerige-postitusandmed-wordpressis\/","title":{"rendered":"Kiirn\u00f5uanne: desinfitseerige postitusandmed WordPressis"},"content":{"rendered":"\n<p>Mida rohkem ma hakkan proovima kasutada PSR-2 kodeerimisstandardeid ja t\u00f6\u00f6riistu, nagu <a href=\"https:\/\/tommcfarlin.com\/the-independent-wordpress-developer\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GrumPHP<\/a> (ja sellega seotud), seda rohkem leian, et minu kirjutatud koodi kvaliteeti saab v\u00e4ikestel viisidel oluliselt parandada.<\/p>\n<p>Ja ma ei taha k\u00f5lada vastuoluliselt: ma m\u00f5tlen, et idee, et midagi &quot;oluliselt&quot; on &quot;v\u00e4iksemalt&quot; parandatud, ei ole just \u00e4ge, eks?<\/p>\n<p>Aga kuulake mind.<\/p>\n<p>Kujutage ette, et saate kirjutada puhast, loetavat ja hooldatavat koodi, kasutades kodeerimisstandardeid, mis ei ole mitte ainult kaasaegsed, vaid ka PHP-sse sisseehitatud, m\u00e4ngite kenasti WordPressiga ja mis on loetavam kui m\u00f5nel muul viisil, millega oleme seda teinud. minevikus v\u00f5i muude standardite kodeerimisvahendite kasutamisel.<\/p>\n<p>Kas sa ei oleks huvitatud?<\/p>\n<h2>Postitusandmete desinfitseerimine<\/h2>\n<p>V\u00f5tke n\u00e4iteks idee postituste andmete desinfitseerimise vajadusest WordPressis. See t\u00e4hendab, et teave saadetakse serverisse POST-p\u00e4ringu kaudu, see sisaldub $_POST superglobaalis ja see tuleb enne selle kallal t\u00f6\u00f6tamist desinfitseerida.<\/p>\n<p>Muidugi pakub WordPress selle jaoks m\u00f5nda abifunktsiooni <strong><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/sanitize_text_field\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">\u2013<\/a><\/strong> ja need on kasulikud \u2013, kuid PHP <strong><a href=\"https:\/\/php.net\/manual\/en\/function.filter-input.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">pakub ka m\u00f5nda<\/a><\/strong> abifunktsiooni .<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-161967-61e72e3eee165.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-161967-61e72e3eee165.png\" alt=\"Kiirn\u00f5uanne: desinfitseerige postitusandmed WordPressis\" ><\/a><\/p>\n<p>Esitan alloleva teabe t\u00e4ieliku sisu funktsioonina, mida saate oma koodis uuesti kasutada. Kuid k\u00f5igepealt pange t\u00e4hele, et ma olen agressiivne. Teil ei pruugi vaja minna k\u00f5ike, mida ma n\u00e4itan.<\/p>\n<p>See t\u00e4hendab, et kood, mida n\u00e4ete, teeb j\u00e4rgmist:<\/p>\n<ul>\n<li>otsib <a href=\"https:\/\/php.net\/manual\/en\/language.variables.superglobals.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">$_POST superglobaali muutuja,<\/a><\/li>\n<li>kontrollib vale kodeeringu olemasolu,<\/li>\n<li>kodeerib erinevaid \u00fcksusi, eemaldab k\u00f5ik sildid, eemaldab reavahetused, tabeldusm\u00e4rgid, t\u00fchikud ja palju muud,<\/li>\n<li>tsiteerib tsiteeritud stringi,<\/li>\n<li>eemaldab stringist HTML- ja PHP-sildid<\/li>\n<\/ul>\n<p>Nagu ma \u00fctlesin, ei pruugi seda k\u00f5ike vaja minna ja olenevalt sellest, kuidas soovite oma andmeid hallata, on ka teisi v\u00f5imalusi (n\u00e4iteks vt <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_kses\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp_kses<\/a> ).<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-161967-61e72e434913b.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-161967-61e72e434913b.png\" alt=\"Kiirn\u00f5uanne: desinfitseerige postitusandmed WordPressis\" ><\/a><\/p>\n<p>Kuid m\u00f5nikord v\u00f5ib teil olla seadete leht, mida soovite hallata enne andmete agressiivset kirjutamist andmebaasi.<\/p>\n<pre><code>&lt;?php\npublic function sanitize(string $data): string\n{\n    return strip_tags(\n        stripslashes(\n            sanitize_text_field(\n                filter_input(INPUT_POST, $data))) );\n}<\/code><\/pre>\n<p><strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/77f82db963da726646307a8459dc2500#file-00-sanitize-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">\u00dclaltoodud koodis<\/a><\/strong> kasutatakse funktsiooni $_POST superglobaalis leiduva teabe edastamiseks. Seej\u00e4rel puhastatakse see \u00fclaltoodud strateegiat kasutades agressiivselt ja tagastatakse nii desinfitseeritud kui v\u00f5imalik.<\/p>\n<p>Nagu ma \u00fctlesin, saab seda muuta, et see sobiks mis tahes kasutusotstarbega, kuid kui otsite \u00fcht lihtsaimat ja agressiivsemat viisi kasutaja sisendi puhastamiseks, v\u00f5ib see funktsioon osutuda teie j\u00f5upingutustes kasulikuks.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kui otsite \u00fcht k\u00f5ige agressiivsemat viisi kasutaja postituste andmete puhastamiseks, v\u00f5ib see funktsioon osutuda kasulikuks<\/p>\n","protected":false},"author":1,"featured_media":236064,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,894,802,863],"tags":[1165],"class_list":["post-230522","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-kood","category-php-4","category-wordpress-4","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/230522","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/comments?post=230522"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/230522\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/236064"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=230522"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=230522"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=230522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}