![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 15.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam pewien problem z działaniem strony. Jest w niej skrypt: Kod <? $urls=$id.".txt"; if(file_exists("$urls")) { $file = fopen($urls, "r"); echo file_get_contents($urls); fclose($file); } else{ echo file_get_contents("glowna.txt"); } ?> Skrypcik ten jest do wyswietlania podstron, np. wpisanie www.mojastrona.php?id=podstrona spowoduje wyswietlenia strony z tekstem z pliku podstrona.txt. Generalnie wszystko działa piknie, ale tylko tylko na moim kompie (mam zainstalowany krasnal serv). Gdy wstawiam strone z tym skryptem na serwer własciwy, to skrypt przestaje działac - tzn. zawsze jest załączany plik glowna.txt. Wersja php na serwerze to 4.4.3 Co jest nie tak? Dodam, że na na innym serwerze, tj. webd.pl. skrypt ten działa. Ten post edytował Blazko 27.10.2006, 20:06:04 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 210 Pomógł: 20 Dołączył: 7.07.2006 Skąd: Krotoszyn Ostrzeżenie: (0%) ![]() ![]() |
Umieszczasz ten skrypt na jakimś darmowym serwerze?
Np. na cba.pl, czy na 60free.ovh.org nie można wykonać żadnych operaccji na plikach, a tak btw. masz błąd w kodzie przy file_existst(), nazwę zmiennej podajesz bez znaków "", '', tylko w postaci ($zmienna)... -------------------- :)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 15.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jest to serwer http://dualserv.net/ , wiec raczej chyba dobry.
Poprawiłem ten błąd ze cudzysłowami, ale niewiele pomogło. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Dyrektywa register_globals w php.ini Serwery mają na OFF, a Ty masz na On i dlatego nie działa na serwerze.
Poczytaj o $_POST, $_GET etc.
Na koniec - skrypt jest dziwnie napisany - użycie file_get_contents() do wyświetlania zawartości... ![]() aha. Niepotrzebnie otwierasz przez fopen() - wystarczy sama funkcja pobierająca dane z pliku. aha2. Jest makabrycznie niebezpieczny - brak filtracji danych - zhackowanie tego, to kwestia "chciejstwa" każdego usera. Pozdrawiam Ten post edytował Cysiaczek 27.10.2006, 20:49:41 -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 15.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Działa ! Dzieki
![]() Czemu file_get_contents jest złym rozwiązaniem? I jak zabezpieczyć to przed shakowaniem? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Spróbuj wstawi kod php do takiego pliku i go wykonać. Jest to po prostu makabrycznie nieelastyczne. Co do bezpieczeństwa - jesteś w stanie podać w urlu np coś takiego ?id=../../../etc/shadow i wyświetlić zawartość pliku z hasłami
![]() Temat: Bezpieczenstwo skryptow php Ten post edytował Cysiaczek 27.10.2006, 21:11:20 -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 15.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Czyli include będzie lepsiejsze?
![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Tak. include() jest dużo lepsze, a nawet jest wskazane jego użycie
![]() -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Chyba ktoś zapomniał basename" title="Zobacz w manualu php" target="_manual, nie?
include" title="Zobacz w manualu php" target="_manual/require" title="Zobacz w manualu php" target="_manual użyj wtedy, jeśli chcesz, aby zawarty w pliku kod był przetwarzany przez parser. Jeśli nie, to wtedy możesz spokojnie użyć file_get_contents" title="Zobacz w manualu php" target="_manual, ale ze wspomnianą przeze mnie wyżej funkcją. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 11:22 |