{"id":96,"date":"2014-01-08T15:39:22","date_gmt":"2014-01-08T15:44:30","guid":{"rendered":"https:\/\/d4c91seguridad-php.jpg"},"modified":"2015-07-16T19:40:52","modified_gmt":"2015-07-17T01:40:52","slug":"7-consejos-para-la-seguridad-en-php","status":"publish","type":"post","link":"https:\/\/emanuelpaxtian.com\/blog\/7-consejos-para-la-seguridad-en-php\/","title":{"rendered":"7 CONSEJOS PARA LA SEGURIDAD EN PHP"},"content":{"rendered":"<p>Despu\u00e9s de cierto tiempo trabajando en aplicaciones realizadas bajo PHP \u2013 MySQL, y tras varios desastres originados por inyecciones SQL, poca seguridad y por m\u00ed, que soy un manazas, he llegado a estas peque\u00f1as conclusiones resumidas a modo de lista de consejos para dormir todos los d\u00edas algo m\u00e1s tranquilo.<\/p>\n<p>7 CONSEJOS PARA DORMIR TRANQUILO SI TRABAJAS EN PHP:<\/p>\n<ol>\n<li>Trabaja con register_globals en OFF. Evitar\u00e1s que te cambien valores de variables por la URL. Tambi\u00e9n puedes inicializar todas las variables y as\u00ed tener tu reba\u00f1o de $ m\u00e1s controlado,<\/li>\n<li>Usar la funci\u00f3n htmlentities para evitar que nos hagan cross app scripting (ejecutar js en inputs o textareas).<\/li>\n<li>Realizar una validaci\u00f3n completa paralela tanto con JS como con PHP. Validar cliente y Server para evitar sorpresas. No confiemos nunca en nada.<\/li>\n<li>Usar addslashes para evitar inyecciones SQL que nos revienten nuestras bases de datos.<\/li>\n<li>Evitar que se filtren datos a trav\u00e9s de los errores. Hemos de trabajar con display_error en OFF cuando estemos en fase de producci\u00f3n.<\/li>\n<li>Evitar mostrar el \u00e1rbol de directorios de nuestro sitio. En el httpd.conf podemos a\u00f1adir Option Indexes FollowSysmsLinks Multiviews \u2013 Indexes para evitar que se muestre el \u00e1rbol de directorios del sitio. Tamb\u00eden podemos usar la t\u00e9cnica manual de poner un index.php vac\u00edo o con un redirect en cada directorio.<\/li>\n<li>Usar Captcha si usamos formularios para evitar ser banneados.<\/li>\n<li>Quede claro que esta no es una gu\u00eda definitiva ni una gu\u00eda realizada por un crack en desarrollos PHP, pero sinceramente a m\u00ed me viene perfecta para dormir tranquilo todas las noches.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Despu\u00e9s de cierto tiempo trabajando en aplicaciones realizadas bajo PHP \u2013 MySQL, y tras varios desastres originados por inyecciones SQL, poca seguridad y por m\u00ed, que soy un manazas, he&hellip;<\/p>\n","protected":false},"author":1,"featured_media":642,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,10],"tags":[],"class_list":["post-96","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php","category-seguridad"],"_links":{"self":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/posts\/96","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/comments?post=96"}],"version-history":[{"count":0,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/posts\/96\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/media\/642"}],"wp:attachment":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/media?parent=96"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/categories?post=96"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/tags?post=96"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}