![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 29.04.2009 Ostrzeżenie: (0%)
|
Program liczy pole i wszystko działa tylko że kiedy włączam index pojawia się komunikat:
Kod [b]Warning[/b]: main(.php) [[url="http://localhost/%7Et/function.main"]function.main[/url]]: failed to open stream: No such file or directory in [b]c:\usr\krasnal\www\T\index.php[/b] on line [b]15[/b] [b]Warning[/b]: main() [[url="http://localhost/%7Et/function.include"]function.include[/url]]: Failed opening '.php' for inclusion (include_path='.;C:\php5\pear') in [b]c:\usr\krasnal\www\T\index.php[/b] on line [b]15[/b] jak się tego pozbyć? Kod <?
echo '<table>'; echo'<tr>'; echo'<td>'; echo'<h1>Pole walca</h1>'; echo'</td>'; echo'</tr>'; echo'<tr>'; echo'<td>'; echo'<a href="index.php?tryb=dane">Oblicz pole</a><br>'; echo'<a href="index.php?tryb=info">Informacje</a>'; include( $_GET['tryb'] . '.php'); echo'</td>'; echo'<td>'; echo'</td>'; echo'</tr>'; echo '</table>'; ?> |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 214 Pomógł: 18 Dołączył: 25.04.2009 Ostrzeżenie: (20%)
|
index pewnie uruchamiasz bez parametru, dla tego powinieneś zabezpieczyć to na taką sytuacje
uruchom index z parametrem tryb czyli http://localhost?tryb=nazwapliku |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 156 Pomógł: 15 Dołączył: 13.09.2003 Skąd: London Ostrzeżenie: (0%)
|
Sprawdz czy zmienna $_GET['tryb'] jest ustawiona, jesli tak to wykonaj include() :
Ogolnie rzecz biorac takie podejscie do sprawy jest niebezpieczne bo przy odpowiednio spreparowanym parametrze tryb mozna uzyskac dostep do innych (niz bys sobie tego zyczyl) plikow w systemie. Jako szybki fix mozesz sobie np. stworzyc tablice w ktorej bedziesz trzymal dopuszczalne tryby, np:
|
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 13:41 |