include $page.".php"
HackForum

| klasickou syntaxi pro includovani tela stranek znate asi vsichni:
/index.php?page=foo
pricemz samotna incluze vypada zjednodusene cca nasledovne:
include "./".$page.".php";
ja mam moznost uploadovat kamkoliv na server jakykoliv soubor, jehoz nazev se sklada z malych/velkych pismen a cislic, pouziti jinych znaku, tedy i tecky pro priponu, je zakazano. tim padem se muj soubor nemuze nikdy jmenovat cokoliv.php. jak mam tedy docilit toho, aby se k inkludovanemu souboru automaticky nepridavala ona pripona .php?
predem upozornuji, ze
/index.php?page=foo%00
ani
/index.php?page=foo?bar=
nefunguji (file not found). thx za reakce (odpovědět) | Emkei | | |  | 29.12.2006 20:38 |
|
|
|
re: include $page.".php" | # |
| takze reseni:
/index.php?page=[link]
nove vznikly problem:
skoro vsude vypinaji fci allow_url_fopen() a snad nikde se vam ji nepodari zapnout standardne pomoci ini_set('allow_url_fopen', 'on');
nejake navrhy? (odpovědět) | Emkei | | |  | 30.12.2006 0:39 |
|
|
|
re: include $page.".php" | # |
| podle php manualu nelze fci allow_url_fopen() aktivovat jinak, nez primym zasahem do souboru php.ini, takze tahle moznost definitivne odpada. (odpovědět) | Emkei | | |  | 30.12.2006 3:02 |
|
|
|
re: include $page.".php" | # |
| jeste pres .htaccess
php_flag allow_url_fopen on
ale to asi nikomu moc nepomuze :)
----------
Pravá láska je, když si zapamatuješ její IP, abys obešel zpoždění DNS :) (odpovědět) | |
|
|
re: include $page.".php" | # |
| jj, taky me to napadlo, vetsina serveru ma allow_url_fopen zakazano jako master, ale jako local povoleno (tim padem si to pres .htaccess opravdu povolit muzes), ale to ja na vzdalenym serveru tezko provedu, kazdopadne thx za reakci. (odpovědět) | Emkei | | |  | 30.12.2006 12:52 |
|
|
|
re: include $page.".php" | # |
| Emkei: Vedeš tu dobrej monolog :) když můžeš nahrát nějaký soubor na server ale bez přípony tak nevidím řešení. Ať tam nahraješ cokoliv, neotevřeš to kvuli ".php" :/ asi najít nějakou jinou chybu. Když už je tam jedna, co ti dovolí tam něco nahrát tak je tam určitě chyb víc.
----------
nehádej se, nemá to cenu | osobní blog: [link] (odpovědět) | mzk | |  | 30.12.2006 14:22 |
|
|
|
re: include $page.".php" | # |
| nemusi to mit nutne pripomu .php, pokud mas moznost kamkoliv na server nahrat soubor s libovolnym obsahem, jehoz nazev nemuzes 100% ovlivnit, tak tu presto nejake moznosti jsou:
pokud se telo inkluduje klasicky jako
/index.php?page=foo.php
jednoduse misto foo.php das nazev svyho scriptu a ten se vykona.
pokud se ale telo inkludeje nasledovne
/index.php?page=foo
a teprve pote se k promenne $page doda pripona .php nebo cokoliv jineho (coz je beznejsi postup), tak musis misto foo vlozit nazev svyho scriptu nasledovne (absolutne)
index.php?page=[link]
tim padem ale musis doufat, ze je zapnuta fce allow_url_fopen, coz byl jeste nedavno beznej jev, ted ji hodne serveru vypina a zapina pouze na pozadani.
dalsi moznosti by bylo nahrat vlastni script do slozky cgi-bin, pokud by webhosting CGI scripty podporoval, tady ale o5 zalezi na nastaveni SetHandleru, zda by se script vykonal i bez pripony, coz by imho ve vychozim nastaveni neudelal (nemam moznost otestovat). (odpovědět) | Emkei | | |  | 30.12.2006 15:13 |
|
|
|