![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 73 Pomógł: 1 Dołączył: 19.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
![]() Napisałem skrypt go.php który wywoływany jest z hiperłączy na mojej stronie w postaci: go.php?url=http://adrestrony.pl np: <a href="go.php?http://gry.pl">strona z grami</a> tak wygląda kod skryptu
chodzi o to że skrypt dodaje do bazy kliknięcia w dany link, następnie przekierowuje użytkownika pod dany adres ze zmiennej get - URL. Wszystko działa, problem pojawia się, kiedy w adresie ze zmiennej $_GET['url'] znajduje się np znak &, wtedy skrypt wariuje, bo jak się domyślam dopisuje to adres do skryptu go.php zamiast przekierowywać. Pytanie: Jak zrobić żeby to działało poprawnie i bezpiecznie? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
1. wiesz jak łatwo zrobić na tym skrypcie SQL Injection..?
2. poczytaj o base64 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Utnij wszystko co jest zgodne ze wzorcem:
-------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 73 Pomógł: 1 Dołączył: 19.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Domyślam się, że nie jest to bezpieczne dlatego proszę o pomoc, właśnie nie chciałbym kodować adresu, chciałbym żeby użytkownik widział link do jakiego się kieruje, czy jest taka możliwość żeby to było w ten sposób, do tego bezpieczne?
Co do nie przejdzie ponieważ usunie wtedy z docelowego adresu znak &, który jest potrzebny (inaczej wywoływana strona się nie otworzy) Ten post edytował reyne 6.11.2012, 18:44:58 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Domyślam się, że nie jest to bezpieczne dlatego proszę o pomoc, właśnie nie chciałbym kodować adresu, chciałbym żeby użytkownik widział link do jakiego się kieruje, czy jest taka możliwość żeby to było w ten sposób, do tego bezpieczne? Co do nie przejdzie ponieważ usunie wtedy z docelowego adresu znak &, który jest potrzebny (inaczej wywoływana strona się nie otworzy) Nie przesadziłeś tutaj z cudzysłowami? a jeśli chodzi o bezpieczeństwo, to filtruj dokładnie dane wpisywane przez użytkownika, najlepiej zastosuj preg_match, co daje pewne zabezpieczenie. Musisz mieć absolutną pewność przed dodaniem czegoś do bazy, że jest to wartość, której oczekujesz, w tym przypadku adres www. -------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Takiego przekierowania w ogóle się nie powinno robić. https://www.owasp.org/index.php/Open_redirect
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 73 Pomógł: 1 Dołączył: 19.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
czyli nie da się zrobić tego bez filtracji?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Zrobić się da.
Inna sprawa, że jeśli chcesz mieć w miarę zabezpieczoną aplikację, to nie możesz zostawić żadnych informacji przychodzących od usera bez filtrowania/walidacji. Nieważne czy to dane z GET, POST, COOKIES, nagłówków czy czegokolwiek innego. [edit] Odpowiadając na wcześniejsze pytanie - podawaj adres wyescape'owany funkcją urlencode. Ten post edytował sowiq 6.11.2012, 19:03:07 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 73 Pomógł: 1 Dołączył: 19.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ok dzięki Panowie
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 07:18 |