{"id":231059,"date":"2022-12-12T12:55:00","date_gmt":"2022-12-12T09:55:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231059"},"modified":"2022-12-07T11:13:06","modified_gmt":"2022-12-07T08:13:06","slug":"dica-rapida-higienize-os-dados-de-postagem-no-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/dica-rapida-higienize-os-dados-de-postagem-no-wordpress\/","title":{"rendered":"Dica r\u00e1pida: higienize os dados de postagem no WordPress"},"content":{"rendered":"\n<p>Quanto mais eu come\u00e7o a tentar usar os padr\u00f5es e ferramentas de codifica\u00e7\u00e3o PSR-2 como o <a href=\"https:\/\/tommcfarlin.com\/the-independent-wordpress-developer\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GrumPHP<\/a> (e aqueles relacionados a ele), mais acho que a qualidade do c\u00f3digo que escrevo pode ser significativamente melhorada em pequenos aspectos.<\/p>\n<p>E n\u00e3o quero parecer contradit\u00f3rio: quero dizer, a ideia de ter algo &#8220;significativamente&quot; melhorado de uma forma &#8220;menor&#8221; n\u00e3o \u00e9 exatamente uma boa ideia, n\u00e3o \u00e9?<\/p>\n<p>Mas ou\u00e7a-me.<\/p>\n<p>Imagine que voc\u00ea \u00e9 capaz de escrever um c\u00f3digo limpo, leg\u00edvel e de f\u00e1cil manuten\u00e7\u00e3o usando padr\u00f5es de codifica\u00e7\u00e3o que n\u00e3o s\u00e3o apenas modernos, mas integrados ao PHP, funcionam bem com o WordPress e que s\u00e3o mais leg\u00edveis do que algumas das outras maneiras pelas quais podemos ter feito isso em passado ou ao usar outras ferramentas para padr\u00f5es de codifica\u00e7\u00e3o.<\/p>\n<p>Voc\u00ea n\u00e3o estaria interessado?<\/p>\n<h2>Higienize os dados da postagem<\/h2>\n<p>Tomemos, por exemplo, a ideia da necessidade de sanitizar os dados dos posts no WordPress. Ou seja, as informa\u00e7\u00f5es s\u00e3o enviadas ao servidor por meio de uma solicita\u00e7\u00e3o POST, est\u00e3o contidas na superglobal $_POST e devem ser higienizadas antes de qualquer trabalho ser feito nela.<\/p>\n<p>Claro, o WordPress fornece algumas fun\u00e7\u00f5es auxiliares <strong><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/sanitize_text_field\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">para isso<\/a><\/strong> \u2013 e elas s\u00e3o \u00fateis \u2013 mas o PHP <strong><a href=\"https:\/\/php.net\/manual\/en\/function.filter-input.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">tamb\u00e9m fornece algumas fun\u00e7\u00f5es<\/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=\"Dica r\u00e1pida: higienize os dados de postagem no WordPress\" ><\/a><\/p>\n<p>Fornecerei um resumo completo das informa\u00e7\u00f5es abaixo em uma fun\u00e7\u00e3o que voc\u00ea pode reutilizar em seu c\u00f3digo. Mas primeiro, note que eu vou ser agressivo. Voc\u00ea pode n\u00e3o precisar de tudo o que vou mostrar.<\/p>\n<p>Ou seja, o c\u00f3digo que voc\u00ea ver\u00e1 far\u00e1 o seguinte:<\/p>\n<ul>\n<li>recupera uma vari\u00e1vel para a <a href=\"https:\/\/php.net\/manual\/en\/language.variables.superglobals.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">superglobal $_POST,<\/a><\/li>\n<li>verifica se h\u00e1 codifica\u00e7\u00e3o inv\u00e1lida,<\/li>\n<li>codifica v\u00e1rias entidades, remove todas as tags, remove quebras de linha, guias, espa\u00e7os em branco e muito mais,<\/li>\n<li>cita uma string entre aspas,<\/li>\n<li>remove tags HTML e tags PHP de uma string<\/li>\n<\/ul>\n<p>Como eu disse, nem tudo isso pode ser necess\u00e1rio, e existem outras maneiras de lidar com isso dependendo de como voc\u00ea deseja gerenciar seus dados (por exemplo, consulte <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=\"Dica r\u00e1pida: higienize os dados de postagem no WordPress\" ><\/a><\/p>\n<p>H\u00e1 outras vezes, por\u00e9m, que voc\u00ea pode ter uma p\u00e1gina de configura\u00e7\u00f5es que deseja gerenciar antes de gravar dados no banco de dados de forma agressiva.<\/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\">No c\u00f3digo acima<\/a><\/strong>, a fun\u00e7\u00e3o \u00e9 usada passando informa\u00e7\u00f5es encontradas na superglobal $_POST. Em seguida, ele \u00e9 limpo de forma agressiva usando a estrat\u00e9gia acima e retornado o mais higienizado poss\u00edvel.<\/p>\n<p>Como eu disse, isso pode ser modificado para se adequar ao uso que voc\u00ea precisar, mas se voc\u00ea estiver procurando por uma das maneiras mais f\u00e1ceis e agressivas de limpar a entrada do usu\u00e1rio, essa fun\u00e7\u00e3o pode ser \u00fatil em seus esfor\u00e7os.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Se voc\u00ea est\u00e1 procurando o que pode ser uma das maneiras mais agressivas de higienizar os dados de postagem do usu\u00e1rio, essa fun\u00e7\u00e3o pode ser \u00fatil<\/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":[898,722,806,867],"tags":[1170],"class_list":["post-231059","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-2","category-desenvolvedor","category-php-8","category-wordpress-8","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/231059","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=231059"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/231059\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/236064"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=231059"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=231059"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=231059"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}