{"id":230480,"date":"2022-12-12T13:40:00","date_gmt":"2022-12-12T10:40:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230480"},"modified":"2022-12-07T11:13:07","modified_gmt":"2022-12-07T08:13:07","slug":"snabbtips-rensa-inlaeggsdata-i-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/sv\/snabbtips-rensa-inlaeggsdata-i-wordpress\/","title":{"rendered":"Snabbtips: Rensa inl\u00e4ggsdata i WordPress"},"content":{"rendered":"<p>Ju mer jag b\u00f6rjar f\u00f6rs\u00f6ka anv\u00e4nda PSR-2-kodningsstandarder och verktyg som <a href=\"https:\/\/tommcfarlin.com\/the-independent-wordpress-developer\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GrumPHP<\/a> (och de som \u00e4r relaterade till det), desto mer tycker jag att kvaliteten p\u00e5 koden jag skriver kan f\u00f6rb\u00e4ttras avsev\u00e4rt p\u00e5 mindre s\u00e4tt.<\/p>\n<p>Och jag menar inte att l\u00e5ta mots\u00e4gelsefull: jag menar, id\u00e9n om att ha n\u00e5got &quot;betydligt&quot; f\u00f6rb\u00e4ttrat p\u00e5 ett &quot;mindre&quot; s\u00e4tt r\u00e4cker inte precis, eller hur?<\/p>\n<p>Men h\u00f6r av mig.<\/p>\n<p>F\u00f6rest\u00e4ll dig att du kan skriva ren, l\u00e4sbar och underh\u00e5llbar kod med hj\u00e4lp av kodningsstandarder som inte bara \u00e4r moderna utan inbyggda i PHP, leker snyggt med WordPress och som \u00e4r mer l\u00e4sbara \u00e4n n\u00e5gra av de andra s\u00e4tten vi kan ha gjort det p\u00e5 tidigare eller n\u00e4r man anv\u00e4nder andra verktyg f\u00f6r kodningsstandarder.<\/p>\n<p>Skulle du inte vara intresserad?<\/p>\n<h2>Rensa inl\u00e4ggsdata<\/h2>\n<p>Ta till exempel tanken p\u00e5 behovet av att sanera inl\u00e4ggsdata i WordPress. Det vill s\u00e4ga, information skickas till servern via en POST-beg\u00e4ran, finns i $_POST superglobal och m\u00e5ste saneras innan n\u00e5got arbete utf\u00f6rs p\u00e5 den.<\/p>\n<p>Visst, WordPress tillhandah\u00e5ller n\u00e5gra hj\u00e4lpfunktioner <strong><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/sanitize_text_field\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">f\u00f6r detta<\/a><\/strong> \u2013 och de \u00e4r anv\u00e4ndbara \u2013 men PHP <strong><a href=\"https:\/\/php.net\/manual\/en\/function.filter-input.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">tillhandah\u00e5ller<\/a><\/strong> ocks\u00e5 n\u00e5gra .<\/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=\"Snabbtips: Rensa inl\u00e4ggsdata i WordPress\" ><\/a><\/p>\n<p>Jag ger en fullst\u00e4ndig sammanfattning av informationen nedan i en funktion som du kan \u00e5teranv\u00e4nda i din kod. Men f\u00f6rst, notera att jag kommer att vara aggressiv. Du kanske inte beh\u00f6ver allt som jag ska visa.<\/p>\n<p>Det vill s\u00e4ga, koden du kommer att se kommer att g\u00f6ra f\u00f6ljande:<\/p>\n<ul>\n<li>h\u00e4mtar en variabel f\u00f6r <a href=\"https:\/\/php.net\/manual\/en\/language.variables.superglobals.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">$_POST superglobal,<\/a><\/li>\n<li>kontrollerar ogiltig kodning,<\/li>\n<li>kodar olika enheter, tar bort alla taggar, tar bort radbrytningar, tabbar, blanksteg och mer,<\/li>\n<li>citerar en citerad str\u00e4ng,<\/li>\n<li>tar bort HTML-taggar och PHP-taggar fr\u00e5n en str\u00e4ng<\/li>\n<\/ul>\n<p>Som sagt, allt detta kanske inte beh\u00f6vs, och det finns andra s\u00e4tt att hantera en del av detta beroende p\u00e5 hur du vill hantera din data (se till exempel <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=\"Snabbtips: Rensa inl\u00e4ggsdata i WordPress\" ><\/a><\/p>\n<p>Det finns dock andra tillf\u00e4llen d\u00e5 du kanske har en inst\u00e4llningssida som du vill hantera innan du skriver data till databasen aggressivt.<\/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\">I koden ovan<\/a><\/strong> anv\u00e4nds funktionen genom att skicka in information som finns i $_POST superglobal. Den reng\u00f6rs sedan aggressivt med strategin ovan och returneras s\u00e5 sanerad som m\u00f6jligt.<\/p>\n<p>Som jag sa, detta kan modifieras f\u00f6r att passa vilken anv\u00e4ndning du \u00e4n beh\u00f6ver, men om du letar efter vad som kan vara ett av de enklaste och mest aggressiva s\u00e4tten att sanera input fr\u00e5n anv\u00e4ndaren, kan den h\u00e4r funktionen visa sig anv\u00e4ndbar i dina anstr\u00e4ngningar.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Om du letar efter vad som kan vara ett av de mest aggressiva s\u00e4tten att rensa inl\u00e4ggsdata fr\u00e5n anv\u00e4ndaren, kan den h\u00e4r funktionen vara anv\u00e4ndbar<\/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":[901,807,724,868],"tags":[1173],"class_list":["post-230480","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-koda","category-php-9","category-utvecklaren","category-wordpress-9","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/230480","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/comments?post=230480"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/230480\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media\/236064"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media?parent=230480"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/categories?post=230480"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/tags?post=230480"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}