Autor | Zpráva | ||
---|---|---|---|
K. Profil * |
#1 · Zasláno: 15. 11. 2005, 23:36:40
Narazil jsem na menší problém. Chci zamezit přímého spouštění nějakého skriptu (sktipt se bude provadět jen vložením do jineho skriptu pomoci include). V knize pokročilé programování v PHP5 autor testoval na shodu výrazy:
realpath($_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']) a realpath(__FILE__) Problém je ale v tom, ře funkce realpath mi vždy vrátí prázdny řetězec. Nevíte někdo čím by to mohlo být (zkoušel jsem to doma i na cílovém serveru -> Jen doufám, že se to nějak nenastavuje v php.ini)? Popřípadě jak lze alternativně dosáhnout této funkčnosti? Děkuji všem za jakoukoliv pomoc. |
||
xixli Profil |
#2 · Zasláno: 16. 11. 2005, 19:29:34
skús či nevracia boolean FALSE (nie prázdny reťazec) - vtedy súbor neexistuje
var_dump(realpath(__FILE__)); |
||
jozob Profil |
#3 · Zasláno: 16. 11. 2005, 20:15:52
Zamedzenie vykonávania skriptu robím tak, že si zadefinujem nejakú konštantu v súbore, do ktorého to budem vkladať (pomocou include) a potom v vkladanom súbore testujem, či bola konštanta zadefinovaná(funkcia defined()), ak nie, vykoná sa die().
|
||
K. Profil * |
#4 · Zasláno: 17. 11. 2005, 10:51:58
Díky všem za rady.
Už jsem to obešel tím, že si ty řetězce upravuju sám pomocí reg. výrazů, nikoliv přes realpath. |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0