{"id":230681,"date":"2022-12-12T13:10:00","date_gmt":"2022-12-12T10:10:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230681"},"modified":"2022-12-07T11:13:00","modified_gmt":"2022-12-07T08:13:00","slug":"consejo-rapido-desinfecte-los-datos-de-las-publicaciones-en-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/consejo-rapido-desinfecte-los-datos-de-las-publicaciones-en-wordpress\/","title":{"rendered":"Consejo r\u00e1pido: desinfecte los datos de las publicaciones en WordPress"},"content":{"rendered":"\n<p>Cuanto m\u00e1s empiezo a intentar usar los est\u00e1ndares de codificaci\u00f3n PSR-2 y herramientas como <a href=\"https:\/\/tommcfarlin.com\/the-independent-wordpress-developer\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GrumPHP<\/a> (y las relacionadas), m\u00e1s encuentro que la calidad del c\u00f3digo que escribo se puede mejorar significativamente en formas menores.<\/p>\n<p>Y no quiero sonar contradictorio: quiero decir, la idea de tener algo &quot;significativamente&quot; mejorado de una manera &quot;menor&quot; no encaja exactamente, \u00bfverdad?<\/p>\n<p>Pero esc\u00fachame.<\/p>\n<p>Imagine que puede escribir c\u00f3digo limpio, legible y mantenible utilizando est\u00e1ndares de codificaci\u00f3n que no solo son modernos, sino que tambi\u00e9n est\u00e1n integrados en PHP, funcionan bien con WordPress y son m\u00e1s legibles que algunas de las otras formas en que lo hemos hecho. el pasado o cuando se utilizan otras herramientas para codificar est\u00e1ndares.<\/p>\n<p>\u00bfNo estar\u00edas interesado?<\/p>\n<h2>Desinfectar datos de publicaci\u00f3n<\/h2>\n<p>Tomemos, por ejemplo, la idea de la necesidad de desinfectar los datos de las publicaciones en WordPress. Es decir, la informaci\u00f3n se env\u00eda al servidor a trav\u00e9s de una solicitud POST, est\u00e1 contenida dentro del superglobal $_POST y debe desinfectarse antes de realizar cualquier trabajo en \u00e9l.<\/p>\n<p>Claro, WordPress proporciona algunas funciones de ayuda <strong><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/sanitize_text_field\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">para esto<\/a><\/strong>, y son \u00fatiles, pero PHP tambi\u00e9n <strong><a href=\"https:\/\/php.net\/manual\/en\/function.filter-input.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">proporciona algunas<\/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=\"Consejo r\u00e1pido: desinfecte los datos de las publicaciones en WordPress\" ><\/a><\/p>\n<p>Proporcionar\u00e9 una esencia completa de la informaci\u00f3n a continuaci\u00f3n en una funci\u00f3n que puede reutilizar en su c\u00f3digo. Pero primero, tenga en cuenta que voy a ser agresivo. Puede que no necesites todo lo que te voy a mostrar.<\/p>\n<p>Es decir, el c\u00f3digo que vas a ver har\u00e1 lo siguiente:<\/p>\n<ul>\n<li>recupera una variable para el <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>comprueba si hay codificaci\u00f3n no v\u00e1lida,<\/li>\n<li>codifica varias entidades, elimina todas las etiquetas, elimina saltos de l\u00ednea, tabulaciones, espacios en blanco y m\u00e1s,<\/li>\n<li>cita una cadena entre comillas,<\/li>\n<li>elimina etiquetas HTML y etiquetas PHP de una cadena<\/li>\n<\/ul>\n<p>Como dije, es posible que no se necesite todo esto, y hay otras formas de manejar algo de esto dependiendo de c\u00f3mo desee administrar sus datos (por ejemplo, vea <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=\"Consejo r\u00e1pido: desinfecte los datos de las publicaciones en WordPress\" ><\/a><\/p>\n<p>Sin embargo, hay otras ocasiones en las que puede tener una p\u00e1gina de configuraci\u00f3n que desea administrar antes de escribir datos en la base de datos de manera agresiva.<\/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\">En el c\u00f3digo anterior<\/a><\/strong>, la funci\u00f3n se usa pasando informaci\u00f3n que se encuentra en el superglobal $_POST. Luego se limpia agresivamente usando la estrategia anterior y se devuelve tan desinfectado como sea posible.<\/p>\n<p>Como dije, esto se puede modificar para adaptarse a cualquier uso que necesite, pero si est\u00e1 buscando lo que podr\u00eda ser una de las formas m\u00e1s f\u00e1ciles y agresivas de desinfectar la entrada del usuario, esta funci\u00f3n puede resultar \u00fatil en sus esfuerzos.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Si est\u00e1 buscando lo que podr\u00eda ser una de las formas m\u00e1s agresivas de desinfectar los datos de las publicaciones del usuario, esta funci\u00f3n puede resultar \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":[892,716,800,861],"tags":[1172],"class_list":["post-230681","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo","category-desarrollador","category-php-2","category-wordpress-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/230681","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/comments?post=230681"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/230681\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/236064"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=230681"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=230681"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=230681"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}