-
Data: 2009-03-07 15:26:24
Temat: Re: Jak pokazać ścieżkę dostępu do dokumentu?
Od: porneL <n...@p...net> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Sat, 07 Mar 2009 12:32:58 -0000, Marek <m...@s...interia.pl> wrote:
> Nie do końca tak jest w praktyce - nie mówię o teorii. Po pierwsze -
> ilość znaków formularza czasem przewyższa możliwości GET. Po drugie
> znacząco utrudniam możliwość ręcznego wpływania na sposób funkcjonowania
> aplikacji
Ale POST wcale nie jest bezpieczniejszy niż GET! W obu przypadkach każdy ma możliwość
przesłania ci dowolnych danych.
Nawet nie potrzeba do tego specjalnie hackerskich narzędzi, np. w Operze można
otworzyć źródło strony, przerobić formularz, odświeżyć stronę z cache i wysłać
przerobione dane.
Tak czy inaczej, przychodzące dane musisz sprawdzać. W przypadku PHP kod praktycznie
nie różni się, czy użyjesz $_GET, $_POST czy $_SESSION.
> gdyż nie analizuję tego co ktoś z palca wpisze sobie z nudów w
> adresie URL - w szczególności automatom spamerskim, które potrafią
> udawać wypełnianie formularzy (co już doświadczyłem).
POST przyciąga spamerskie boty znacznie bardziej niż GET, a dobrym botom można
zakazać GET w robots.txt.
>> Jeśli potem jeszcze przekierowujesz na stronę, która nie ma w URL
>> parametrów wyszukiwania, to już kompletnie łamiesz bezstanowość HTTP i
>> uzależniasz treść strony danych, o których istnieniu przeglądarka nie
>> ma pojęcia (zmiany danych w sesji są niewidoczne dla klientów HTTP).
>
> Dokładnie tak jest. Jednakże łamanie konwenansów ma swoje zalety
> również. Powrót do wyszukiwarki bez przekazywania do niej jakichkolwiek
> informacji prezentuje ostatnio wyszukiwaną treść - wcale nie oznacza to
> defektu lecz wręcz przeciwnie: jest to czasem bardzo użyteczne
OK, ale proponuję to robić dodatkowo, a nie zamiast tworzenia niezawodnych URL-i.
> "powrót do wyszukiwarki". Wyobraź sobie co się stałoby gdyby po drodze
> przytrafił się jakiś POST. Wtedy taki "wstecz" wywaliłby komunikat o
> potrzebie re-akceptacji formularza.
To nie ma związku z wyszukiwarką, szczególnie jakbyś prawidłowo użył GET.
Kiedy potrzeba użyć POST, to ten bug obchodzi się wysyłając status 303 i
przekierowanie. Tego się nie czepiam. Czepiam się, że używasz POST zamiast GET tam,
gdzie się nie powinno.
--
http://pornel.net
this.author = new Geek("porneL");
Następne wpisy z tego wątku
- 07.03.09 19:01 Marek
- 07.03.09 19:04 Marek
- 07.03.09 19:13 Marek
- 07.03.09 20:21 porneL
- 07.03.09 22:58 Grzegorz Staniak
- 07.03.09 23:00 Grzegorz Staniak
- 09.03.09 10:58 Marek
- 09.03.09 11:05 Marek
- 09.03.09 11:06 Marek
- 09.03.09 14:36 Grzegorz Staniak
- 09.03.09 20:22 porneL
- 09.03.09 21:10 Marek
- 09.03.09 21:17 Marek
- 09.03.09 21:49 Konrad Kosmowski
- 09.03.09 23:29 porneL
Najnowsze wątki z tej grupy
- Jakie znacie działające serwery grup dyskusyjnych?
- is it live this group at news.icm.edu.pl
- php, linki z nazwami a $_GET, SEO
- www polityka pl captcha
- dyktatura brudnego palucha
- www.znanylekarz.pl
- Czy pytanie o sczytywanie stron programami/skryptami to tu?
- Grupy webdevowe
- Jak wydrukować stronę?
- IIS, kilka witryn
- linki <a href="/strona.php"> (ze slashami)
- co rozszerza stronę??
- responsywny akapit <p>
- Czy istnieje jakiś emulator przeglądarek pod Mac'a?
- taka sama konfiguracja dla localhost i produkcji
Najnowsze wątki
- 2025-02-01 Śmierć mózgu a narządy do pobrania
- 2025-01-31 A niektórym to naprawdę zależy na ekologi w miastach LPG POWRACA ;-)
- 2025-01-31 Lublin => Programista Delphi <=
- 2025-01-31 Łódź => Programista NodeJS <=
- 2025-01-31 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-01-31 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2025-01-31 Gdańsk => iOS Developer (Swift experience) <=
- 2025-01-31 Kraków => UX Designer <=
- 2025-01-31 Warszawa => Data Engineer (Tech Leader) <=
- 2025-01-31 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-31 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-31 Warszawa => Full Stack .Net Engineer <=
- 2025-01-31 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-31 Gdańsk => Programista Full Stack .Net <=