require_once otra include_once funciona entre diferencia desde conexion como carpeta php include

otra - require php path



Incluir seguridad (4)

Mi primer pensamiento no es sobre seguridad, sino sobre por qué en el mundo harías eso?

<?php if (preg_match(''/^[a-z0-9]+$/'', $_GET[''page''])) { $page = realpath(''includes/''.$_GET[''page''].''.php''); $tpl = realpath(''templates/''.$_GET[''page''].''.html''); if ($page && $tpl) { include $page; include $tpl; } else { // log error! } } else { // log error! } ?>

¿Qué tan seguro dirías que es esto? Gumbo aquí en Stack Overflow lo escribió.
Seguridad de inclusión dinámica

Quiero escuchar tus opiniones

aclamaciones


Pude ver algunos problemas potenciales allí, especialmente si la variable ''página'' contenía ''...'' u otras cosas que podrían permitirles ver algo que supuestamente no podían ver.

Hago algo similar en algunos sitios míos, pero primero verifico ''página'' para asegurarme de que hace referencia a una de un conjunto de páginas permitidas.


Yo diría que es bastante seguro. Simplemente no permita que nada escriba en esas carpetas. Los archivos PHP están tradicionalmente dentro de la raíz web de un servidor que es peligroso para empezar. Sería mejor colocar los archivos que se cargan en un área que es absolutamente inaccesible al exterior debido a un error de configuración o al archivo .htaccess que falta.


incluyendo tu propio código que tan seguro es?