Como proteger archivos de configuracion?

Iniciado por ZharkD, 8 Mayo 2010, 19:48 PM

0 Miembros y 2 Visitantes están viendo este tema.

ZharkD

Buenas,

Pues estuve buscando pero no encuentro alguna forma "pre-definida" de proteger archivos de configuracion (como el config de la db, el config del sitio y demas). Mi opcion temporal es asignar una variable y si NO tiene "tal contenido" regresa al index.
Existe alguna forma de proteger archivos mediante php, CHMOD o algo similar?
Recordando que estos archivos son utilizados mediante include() por otros archivos en el mismo host.

Gracias por su colaboracion.

Nakp

define una constante en el index y al incluir los scripts, comprueba en estos que la constante este definida o que no se ejecute :) asi evitas el acceso directo a los archivos

por chmod tambien puedes modificar los permisos de ejecucion de tal forma que no se hacen nada si se visualizan de forma directa, prueba con 744 en los archivos que no deseas que se ejecuten :P
Ojo por ojo, y el mundo acabará ciego.

ZharkD

Cita de: Nakp en  8 Mayo 2010, 23:30 PM
define una constante en el index y al incluir los scripts, comprueba en estos que la constante este definida o que no se ejecute :) asi evitas el acceso directo a los archivos

por chmod tambien puedes modificar los permisos de ejecucion de tal forma que no se hacen nada si se visualizan de forma directa, prueba con 744 en los archivos que no deseas que se ejecuten :P
La variable efectivamente ya la tenia, solo buscaba una forma mas "rapida" de proteger los archivos, intentare los permisos 744, lo vemo mas util y factible :)

WHK

haz un htacces y pon esto:
<Files config.php>
order Deny,Allow
Deny from all
</files>


eso es todo, cuando lo quieran ver les saldrá un error 302 de acceso denegado.
De todas formas lo mas seguro es como te dijeron mas arriba, poner una variable y luego verificar si esa varible existe antes de continuar.

ZharkD

Cita de: WHK en  9 Mayo 2010, 15:48 PM
haz un htacces y pon esto:
<Files config.php>
order Deny,Allow
Deny from all
</files>


eso es todo, cuando lo quieran ver les saldrá un error 302 de acceso denegado.
De todas formas lo mas seguro es como te dijeron mas arriba, poner una variable y luego verificar si esa varible existe antes de continuar.
Si como memncione la variable si la utilizo, sin emabrgo, si en la url ponen /archivo.php?var=contenido se desbloquea XD

‭‭‭‭BadStupidMonkey.

Cita de: ZharkD en  9 Mayo 2010, 17:31 PM
Si como memncione la variable si la utilizo, sin emabrgo, si en la url ponen /archivo.php?var=contenido se desbloquea XD

eso es porque usas $_GET o porque tienes las variables globales puestas ? (lo que es la mayor estupidez que los de php an podido crear xD).



Saludos

ZharkD

Cita de: ‭‭‭‭BadStupidMonkey. en  9 Mayo 2010, 19:34 PM
eso es porque usas $_GET o porque tienes las variables globales puestas ? (lo que es la mayor estupidez que los de php an podido crear xD).

Saludos
Hola,

Pues el $_GET[] no lo tengo fijado para esa variable (la variable de seguridad), sin embargo si lo utilizo para otras variables dentro de esa pagina de codigo.
Variables globales.... pues creo que esas tienen que declararse asi no?
Usando GLOBAL $variable, o algo asi supongo, de eso no he echo nada, de hecho... nunca declaro variables, siempre las utilizo donde son necesarias sin haber declarado antes, sera malo eso?

‭‭‭‭BadStupidMonkey.

en realidad la funcion en si se llama register_globals yo la llamo variables globales xD

si yo tengo register globlas habilitado y tengo este codigo..

Código (php) [Seleccionar]
<?php
echo $mipass;
?>


con hacer http://localhost/nigga_steal_my_bike.php?mipass=lol

imprimira "lol".. a no ser que la declares antes...

de todos modos no se como lo utilizaras pero yo si tengo en el index la variable declarada y luego incluyo otra pagina en la primera linea siempre pongo
Código (php) [Seleccionar]
<?php if($variable != pass) { die('nigga you got 403 o.O'); } ?>
con eso ya..haga lo que haga si no tengo la variable declarada con lo que yo tengo se muere y no deja ver nada mas xD.


Saludos

ZharkD

Cita de: ‭‭‭‭BadStupidMonkey. en 11 Mayo 2010, 01:12 AM
en realidad la funcion en si se llama register_globals yo la llamo variables globales xD

si yo tengo register globlas habilitado y tengo este codigo..

Código (php) [Seleccionar]
<?php
echo $mipass;
?>


con hacer http://localhost/nigga_steal_my_bike.php?mipass=lol

imprimira "lol".. a no ser que la declares antes...

de todos modos no se como lo utilizaras pero yo si tengo en el index la variable declarada y luego incluyo otra pagina en la primera linea siempre pongo
Código (php) [Seleccionar]
<?php if($variable != pass) { die('nigga you got 403 o.O'); } ?>
con eso ya..haga lo que haga si no tengo la variable declarada con lo que yo tengo se muere y no deja ver nada mas xD.


Saludos
Si pues de esho yo tengo mi sitio tal como mencionas:
Archivo index:
Código (php) [Seleccionar]
$var=garabatos;
include('archivos/file1.php');
continua el codigo...

Y en archivos/file1.php
Código (php) [Seleccionar]
if($var!=garabatos)
header('Location: http://site.com');


Sin embargo, cuando entro a http://site.com/archivos/file1.php?var=garabatos me abre la pagina "protegida" sin problemas XD
La variable la tengo declarada como se muestra en index, sin embargo NO eh puesto la funcion que mencionas (de variables globales) :)