Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 24.10.2004 Ostrzeżenie: (0%)
|
Witam. Mam taki kłopot- napisałem sobie funkcję zabezpieczającą linki przed atakami- jest tam pare funkcji na wyrost, ale to taki szczegół. funkcja wygląda tak:
po usunięciu $_GET['site']=danger_links($_GET['site']); wszystko wraca do normy... co zatem jest złego w w/w funkcji? po czym w indexie robię
Przy wpisaniu któregoś "niebezpiecznego" linku pojawia się żądany napis, jednak wpisując cokolwiek innego nie wyświetla mi innej strony- a jest ona wyświetlana poprzez:
|
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 0 Dołączył: 7.04.2006 Ostrzeżenie: (0%)
|
ta ostania czesc kodu ktora zapodales zaczyna sie od elseif czy to jest jakas czesc wiekszego kodu( jest cos przed tym czy nie ma? )
i jak mozesz to podaj jaki link do strony jest dobry a nie dziala Ten post edytował phobos 10.04.2006, 13:07:58 |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 24.10.2004 Ostrzeżenie: (0%)
|
tak, to część kodu (najpierw ładowanie gdy nie ma podane $_GET['site'], potem podany fragment, a potem gdy jest podany $_GET['site'] i $_GET['id'] )wszystkie ładuą stronę na tej samej zasadzie, różne są tylko zapytania.
Link: www.digital-creations.pl/index.php?site=Prace (= index.php ,strona domyślna) + link który powinien działać to formularz kontaktowy- część stron nie ma, ale akurat formularz jest) Ten post edytował ColdFire 10.04.2006, 13:48:37 |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 0 Dołączył: 7.04.2006 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 24.10.2004 Ostrzeżenie: (0%)
|
to dobrze działa, problem jest z funkcją danger_links- wiem to daltego, że gdy usunę linijkę $_GET['site']=danger_links($_GET['site']); wszystko działa normalnie- znakiem tego coś nie tak z funkcją danger_links-tylko co?
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 0 Dołączył: 7.04.2006 Ostrzeżenie: (0%)
|
ah omg ale mnie przycmilo problem jest z ta funkcja bo ta funckcja nie zwraca nic wiec jak napiszesz
to tak jakbys napisal ze $_GET['site']="";dopisz na koncu funkcju return $_GET['site'] albo zamien ta czesc kodu
na
i powinno elegancko dzialac Ten post edytował phobos 10.04.2006, 16:32:02 |
|
|
|
Post
#7
|
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław |
Cytat $_GET['site']=danger_links($_GET['site']); Robisz przypisanie wyniku funkcji do zmiennej. Tyle tylko, że, zauważ, twoja funkcja nic nie zwraca. Mały paradoks, nieprawdaż? 2 sprawa. Po co przekazujesz do funkcji parametr, skoro nigdy z niego nie korzystasz? Albo rezygnujesz z przesyłania parametru, albo zdecydowanie z niego korzystasz, nie odwołując się w ciele funkcji do zmiennych superglobalnych (co zdecydowanie polecam) . W takim przypadku funkcja ta wyglądałaby mniej więcej tak:
|
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 24.10.2004 Ostrzeżenie: (0%)
|
Cytat Robisz przypisanie wyniku funkcji do zmiennej. (IMG:http://forum.php.pl/style_emoticons/default/ohmy.gif) (IMG:http://forum.php.pl/style_emoticons/default/ohmy.gif) jaki wstyd... zapomniałem o returnie (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) natomiast zainteresowało mnieTyle tylko, że, zauważ, twoja funkcja nic nie zwraca. Mały paradoks, nieprawdaż? Cytat Albo rezygnujesz z przesyłania parametru, albo zdecydowanie z niego korzystasz, nie odwołując się w ciele funkcji do zmiennych superglobalnych (co zdecydowanie polecam) . dlaczego polecasz takie rozwiązanie? tzn. krótko mówiąc w czym ono jest lepsze?
|
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 22:47 |