{"id":231073,"date":"2022-12-12T12:52:00","date_gmt":"2022-12-12T09:52:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231073"},"modified":"2022-12-07T11:13:02","modified_gmt":"2022-12-07T08:13:02","slug":"pikavinkki-puhdista-viestitiedot-wordpressissae","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/pikavinkki-puhdista-viestitiedot-wordpressissae\/","title":{"rendered":"Pikavinkki: Puhdista viestitiedot WordPressiss\u00e4"},"content":{"rendered":"\n<p>Mit\u00e4 enemm\u00e4n yrit\u00e4n k\u00e4ytt\u00e4\u00e4 PSR-2-koodausstandardeja ja ty\u00f6kaluja, kuten <a href=\"https:\/\/tommcfarlin.com\/the-independent-wordpress-developer\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GrumPHP<\/a> (ja siihen liittyvi\u00e4), sit\u00e4 enemm\u00e4n huomaan, ett\u00e4 kirjoittamani koodin laatua voidaan parantaa merkitt\u00e4v\u00e4sti pienill\u00e4 tavoilla.<\/p>\n<p>Enk\u00e4 tarkoita kuulostaa ristiriitaiselta: Tarkoitan, ett\u00e4 ajatus siit\u00e4, ett\u00e4 jotain &quot;merkitt\u00e4v\u00e4sti&quot; parannettaisiin &quot;pienell\u00e4&quot; tavalla, ei ole aivan sekaisin, vai mit\u00e4?<\/p>\n<p>Mutta kuule minua.<\/p>\n<p>Kuvittele, ett\u00e4 pystyt kirjoittamaan puhdasta, luettavaa ja yll\u00e4pidett\u00e4v\u00e4\u00e4 koodia k\u00e4ytt\u00e4m\u00e4ll\u00e4 koodausstandardeja, jotka eiv\u00e4t ole vain nykyaikaisia, vaan my\u00f6s sis\u00e4\u00e4nrakennettuja PHP:hen, leikki\u00e4 hienosti WordPressin kanssa ja joka on luettavampaa kuin jotkin muut tavat, joilla olemme saaneet tehd\u00e4 sen. menneisyydess\u00e4 tai k\u00e4ytett\u00e4ess\u00e4 muita ty\u00f6kaluja koodausstandardeihin.<\/p>\n<p>Eik\u00f6 sinua kiinnostaisi?<\/p>\n<h2>Puhdista viestitiedot<\/h2>\n<p>Otetaan esimerkiksi ajatus tarpeesta puhdistaa viestitiedot WordPressiss\u00e4. Toisin sanoen tiedot l\u00e4hetet\u00e4\u00e4n palvelimelle POST-pyynn\u00f6n kautta, ne sis\u00e4ltyv\u00e4t $_POST-superglobaaliin, ja ne on desinfioitava ennen kuin niihin tehd\u00e4\u00e4n mit\u00e4\u00e4n t\u00f6it\u00e4.<\/p>\n<p><strong><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/sanitize_text_field\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Toki WordPress tarjoaa t\u00e4h\u00e4n<\/a><\/strong> muutamia aputoimintoja \u2013 ja ne ovat hy\u00f6dyllisi\u00e4 \u2013 mutta PHP <strong><a href=\"https:\/\/php.net\/manual\/en\/function.filter-input.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">tarjoaa my\u00f6s joitain<\/a><\/strong>.<\/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=\"Pikavinkki: Puhdista viestitiedot WordPressiss\u00e4\" ><\/a><\/p>\n<p>Annan alla olevista tiedoista t\u00e4ydellisen funktion, jota voit k\u00e4ytt\u00e4\u00e4 uudelleen koodissasi. Mutta ensin, huomaa, ett\u00e4 aion olla aggressiivinen. Et ehk\u00e4 tarvitse kaikkea, mit\u00e4 aion n\u00e4ytt\u00e4\u00e4.<\/p>\n<p>Eli koodi, jonka aiot n\u00e4hd\u00e4, toimii seuraavasti:<\/p>\n<ul>\n<li>hakee muuttujan <a href=\"https:\/\/php.net\/manual\/en\/language.variables.superglobals.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">$_POST superglobaalille,<\/a><\/li>\n<li>tarkistaa virheellisen koodauksen,<\/li>\n<li>koodaa erilaisia \u200b\u200bkokonaisuuksia, poistaa kaikki tunnisteet, poistaa rivinvaihdot, sarkaimet, v\u00e4lily\u00f6nnit ja paljon muuta,<\/li>\n<li>lainaa lainattua merkkijonoa,<\/li>\n<li>poistaa HTML- ja PHP-tunnisteet merkkijonosta<\/li>\n<\/ul>\n<p>Kuten sanoin, kaikkea t\u00e4t\u00e4 ei v\u00e4ltt\u00e4m\u00e4tt\u00e4 tarvita, ja on olemassa muita tapoja k\u00e4sitell\u00e4 t\u00e4t\u00e4 sen mukaan, kuinka haluat hallita tietojasi (esimerkiksi katso <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=\"Pikavinkki: Puhdista viestitiedot WordPressiss\u00e4\" ><\/a><\/p>\n<p>Joskus sinulla voi kuitenkin olla asetussivu, jota haluat hallita, ennen kuin kirjoitat tietoja tietokantaan aggressiivisesti.<\/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\">Yll\u00e4 olevassa koodissa<\/a><\/strong> funktiota k\u00e4ytet\u00e4\u00e4n v\u00e4litt\u00e4m\u00e4ll\u00e4 tietoja, jotka l\u00f6ytyv\u00e4t $_POST superglobaalista. Sen j\u00e4lkeen se puhdistetaan aggressiivisesti yll\u00e4 olevan strategian mukaisesti ja palautetaan niin desinfioituna kuin mahdollista.<\/p>\n<p>Kuten sanoin, t\u00e4t\u00e4 voidaan muokata sopimaan mihin tahansa k\u00e4ytt\u00f6tarkoitukseen, mutta jos etsit yht\u00e4 helpoimmista ja aggressiivisimmista tavoista puhdistaa k\u00e4ytt\u00e4j\u00e4n sy\u00f6te, t\u00e4m\u00e4 toiminto voi osoittautua hy\u00f6dylliseksi ponnisteluissasi.<\/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>Jos etsit yht\u00e4 aggressiivisimmista tavoista puhdistaa k\u00e4ytt\u00e4j\u00e4n l\u00e4hett\u00e4m\u00e4t viestitiedot, t\u00e4m\u00e4 toiminto voi osoittautua hy\u00f6dylliseksi<\/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":[719,895,803,864],"tags":[1166],"class_list":["post-231073","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kehittaejae","category-koodi","category-php-5","category-wordpress-5","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/231073","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/comments?post=231073"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/231073\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/236064"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=231073"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=231073"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=231073"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}