Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   HTML, Javascript y otros (https://www.clubdelphi.com/foros/forumdisplay.php?f=38)
-   -   Impedir la visualización de otros ficheros en el servidor (https://www.clubdelphi.com/foros/showthread.php?t=59573)

papulo 01-09-2008 17:30:20

Impedir la visualización de otros ficheros en el servidor
 
Hola gente,

hacía la de dios que no pasaba por aquí a saludar, pero llevo la vida liada de narices, jejejeje.

La cuestión es la siguiente ¿como lo hago para impedir que accedan a ficheros *.js o *.php a través del navegador poniendo la página directamente?

Gracias, se que es una chorrada de pregunta, pero no consigo dar con la respuesta.

Saludos a todos.

roman 01-09-2008 18:02:06

Puedes poner un archivo .htaccess en el directorio donde no quieres que se acceda directamente, con el siguiente contenido:

Order allow,deny

Aunque esto funcionará sólo si en la configuración general de apache está habilitado el uso de estos archivos en tu directorio.

Agrego Lo anterior impide el acceso a cualquier archivo, por lo cual no es aconsejable para archivos de javascript puesto que entonces serían inutilizables.

// Saludos

dec 01-09-2008 18:19:54

Hola,

Cita:

Empezado por Román
Aunque esto funcionará sólo si en la configuración general de apache está habilitado el uso de estos archivos en tu directorio.

Y si se está usando el servidor Apache, puesto que otros servidores requerirán de sus propios archivos de configuración. En todo caso, creo que acceder, lo que se dice acceder al contenido de archivos "PHP" no es posible. Es decir, lo que el usuario obtendría sería la "respuesta" de procesar dicho "script", pero, no su código fuente, si es eso lo que preocupa en este caso.

Así pues, podría considerarse servir o no un archivo "PHP", partiendo de determinada variable o constante que nos sirviera de "bandera". Es decir, hacer algo así es trivial:

Código PHP:

if(!defined('MY_CONSTANT')){
  exit;


Y, en cuanto a los archivos "JavaScript"... igual algo como lo que menciona Román funcionaría, aunque tal vez pueda afectar a la propia aplicación que requiera de los archivos, no estoy seguro. Pero, parece complicado ocultar el código fuente de archivos JavaScript, puesto que es algo que ha de llegar al cliente y ejecutarse en este.

Si es esto último lo que se persigue, me parece que habría que tratar con técnicas de ofuscación del código fuente, puesto que, como digo, de una manera o de otra ha de llegar al cliente, y este, si es un poco avispado, podrá hacerse con el mismo. Lo que cabría preguntarse es si merece la pena ocultar el código fuente en este caso.

Me refiero, concretamente, a que si hay archivos que pueden comprometer la seguridad de la aplicación, o contienen información confidencial, entonces estamos hablando de otra cosa, e igual habría que evitar algo así a toda costa.

roman 01-09-2008 18:30:21

Cita:

Empezado por dec (Mensaje 310762)
Y si se está usando el servidor Apache, puesto que otros servidores requerirán de sus propios archivos de configuración.

¿¡Cómo!? ¿Hay vida más allá de Apache? :eek:

Je, je, tienes razón, es buena observación.

Cita:

Empezado por dec (Mensaje 310762)
En todo caso, creo que acceder, lo que se dice acceder al contenido de archivos "PHP" no es posible. Es decir, lo que el usuario obtendría sería la "respuesta" de procesar dicho "script", pero, no su código fuente, si es eso lo que preocupa en este caso.

Yo imagino que lo que quiere es evitar la ejecución directa, pero ya dirá.

Cita:

Empezado por dec (Mensaje 310762)
Código PHP:

if(!defined('MY_CONSTANT')){
  exit;



Buena opción.

// Saludos

papulo 02-09-2008 08:30:10

Lo primero es daros las gracias por las respuestas.

Uso Apache, jejeje, no sabía que hubiera otros... [/IRONIC]

El tema es que no accedan al código de JS o al contenido de un directorio completo.

Si no es posible bloquear el acceso, pues ajo y agua, pero solo quería que si alguien ponía www.miwebmolona.com/functions.js en el navegador, le diera morcillas.

Pero por lo que me comentáis, eso impediría la correcta ejecución del programa ¿no?

Saludos, y aunque no os lo creáis, es un placer el leeros de nuevo.

slider 07-08-2012 01:58:44

Esconder js, php y css
 
Hola aunque ya paso tiempo de tu pregunta, por si ayuda a otra persona te cuento que normalmente yo hago un archivo del tipo funciones.js.php

dentro del archivo coloco
<?PHP
session_name("arearestringida".date('Ymd'));
session_start();

if ((!defined('_CONSTANTE_')) || ($_SESSION["aut"] != "si")){
header("Location: salir.php?salir=true");
}else{ ?>
<script type="text/javascript">
todos las funciones javascript aqui()

</script>
<? } ?>

Finalmente te queda hacer un include "funciones.js.php"; en el archivo que tenes pensado utilizarlas.

No olvides definir la constante también en ese archivo que haces el include o bien en el index!

Esto mismo te sirve para los css

Suerte.

Casimiro Notevi 07-08-2012 02:10:27

Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración :)

Recuerda poner los tags al código fuente, ejemplo:



Gracias :)


La franja horaria es GMT +2. Ahora son las 06:40:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi