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.