Proteger para que não vejam os arquivos de um diretório web

  • Autor Autor xcodex
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
X

xcodex

Estimados, estaba leyendo sobre como evitar que un usuario mal intencionado pueda ver los archivos de un directorio, muchos dicen que para ello hay que poner un index.html en dicho directorio.

Estaba pensando si se podría que ese archivo sea index.php y que contenga:
PHP:
<?php die(); ?>
Ejemplo: www.misitio.com/img/index.php
¿Qué les parece?
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
SI estás en CPanel hay una opción donde puedes configurar que directorios quieres que puedan ser vistos llamda Privacidad del Directorio

En caso que no uses cpanel puedes crear un archivo con lo siguiente
Inserir CODE, HTML ou PHP:
var_dump(http_response_code(501));

Esto lanzaría un error de unauthorized (501) cuando se accediera al directorio (tienes que meterlo en el index.php del directorio que quieres proteger).

Espero que te sirva de ayuda.:guiño:
 
Hola xcodex, simplemente en el directorio principal de tu dominio crea un archivo .htaccess y coloca dentro
Inserir CODE, HTML ou PHP:
 Options -Indexes
, eso evitara que la gente vea tus directorios y no tendrás que crear en cada uno de ellos el típico index.php en blanco. Y en los php crea ciertas condiciones de validación, por ejemplo cuando se usa ajax en un archivo colocamos:
PHP:
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {}
para solo recibir peticiones desde una secuencia ajax, puedes proteger ademas que solo se ejecute tus php si este tiene una referencia desde tu web
PHP:
$_SERVER['HTTP_REFERER']
puedes ademas crear token internos, etc... cuestión de crear una validación idónea para el tipo de php que usas y ejecutas. Normalmente los únicos php que tienen acceso los usuarios de forma publica son los formulario de registro, login y contacto. Que tiene una validación por parametros y recaptcha, ya internamente tienes que estar logueado para visualizar los php. Sino se cumple las condiciones de verificacion usas el
PHP:
<?php die(); ?>
, pero en fin es cuestion de lo que quieras hacer. saludos
 
SI estás en CPanel hay una opción donde puedes configurar que directorios quieres que puedan ser vistos llamda Privacidad del Directorio

En caso que no uses cpanel puedes crear un archivo con lo siguiente
Inserir CODE, HTML ou PHP:
var_dump(http_response_code(501));

Esto lanzaría un error de unauthorized (501) cuando se accediera al directorio (tienes que meterlo en el index.php del directorio que quieres proteger).

Espero que te sirva de ayuda.:guiño:

Hola xcodex, simplemente en el directorio principal de tu dominio crea un archivo .htaccess y coloca dentro
Inserir CODE, HTML ou PHP:
 Options -Indexes
, eso evitara que la gente vea tus directorios y no tendrás que crear en cada uno de ellos el típico index.php en blanco. Y en los php crea ciertas condiciones de validación, por ejemplo cuando se usa ajax en un archivo colocamos:
PHP:
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {}
para solo recibir peticiones desde una secuencia ajax, puedes proteger ademas que solo se ejecute tus php si este tiene una referencia desde tu web
PHP:
$_SERVER['HTTP_REFERER']
puedes ademas crear token internos, etc... cuestión de crear una validación idónea para el tipo de php que usas y ejecutas. Normalmente los únicos php que tienen acceso los usuarios de forma publica son los formulario de registro, login y contacto. Que tiene una validación por parametros y recaptcha, ya internamente tienes que estar logueado para visualizar los php. Sino se cumple las condiciones de verificacion usas el
PHP:
<?php die(); ?>
, pero en fin es cuestion de lo que quieras hacer. saludos

Muchas gracias!, mi solución era mucho mas simple jajajaj.
¡Tendré en cuenta sus comentarios!.
 
Voltar
Topo