On Fri, 13 Apr 2001, Ciprian Niculescu wrote:

> am in apache cu php4
> si am fisiere cu extensia inc, care contin cod php si sunt includeuri
> pentru fisiere .php, daca cineva cere http://site/file.inc ii afiseaza
> fisierul si in unele sunt parole de acces la mysql , solutia care am
> gasit-o este sa le fac sa se execute.
> Nu pot sa le fac sa nu le listeze?

Eu zic ca si mai bine decat a le schimba extensia in .php este sa pui
aceste bucati de cod in afara lui DocumentRoot. Asta merge pentru ca in
calea sau de la require sau include dai o cale relativa la radacina,
filesystemului si nu la DocumentRoot, cum e la cererile http.

Deci este posibil sa ai asa:
in httpd.conf:
DocumentRoot "/var/www/public_html/"
si un alt director
/var/www/my_code/

cat /var/www/public_html/test.php
echo "exemplu\n";
include("/var/www/my_code/test2");

unde test2 sa arate asa:

cat /var/www/my_code/test2.php
echo "fisier inclus ce nu poate fi accesat prin http ";
echo "pentru ca e in afara lui DocumentRoot.";

Eventual, ca sa nu iti faci situl dependent de structura locala de
directori, definesti in httpd.conf o variabila de mediu:
SetEnv CODE_ROOT "/var/www/my_code/"

si atunci test.php il modifici sa arate asa:
global $CODE_ROOT;
echo "exemplu";
include($CODE_ROOT . "/test2.php");

Varianta asta e avantajoasa pentru ca daca iti faci scripturile sa se
foloseasca de CODE_ROOT si daca muti situl pe alta masina atunci tre' sa
schimbi numai linia din httpd.conf

Socrate

-- 
Radu Filip
                           Network Administrator @ Technical University of Iasi
[EMAIL PROTECTED]             Information Technology and Communication Center
http://socrate.tuiasi.ro/  [EMAIL PROTECTED] | http://www.ccti.tuiasi.ro/

---
Send e-mail to '[EMAIL PROTECTED]' with 'unsubscribe rlug' to 
unsubscribe from this list.

Raspunde prin e-mail lui