🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.www
Article #396269

Re: Jak pokazać ścieżkę dostępu do dokumentu?

#396269
From: porneL
Date: Sat, 07 Mar 2009 15:26
42 lines
3396 bytes
On Sat, 07 Mar 2009 12:32:58 -0000, Marek <marek1967@spam.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");
Technical Details
Message-ID: <op.uqfg6ae2utk0y1@aimac.local>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <gor2lh$feg$1@achot.icm.edu.pl> <gor893$ook$1@nemesis.news.neostrada.pl> <gor9bq$oip$1@achot.icm.edu.pl> <gorb3n$a5b$1@atlantis.news.neostrada.pl> <gorvec$t65$1@achot.icm.edu.pl> <op.uqd2icdoutk0y1@aimac.local> <gotpj5$2v3$1@achot.icm.edu.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: porneL <niusy4@pornel.net>
Newsgroups: pl.comp.www
Subject: Re: Jak pokazać ścieżkę dostępu
 do dokumentu?
Date: Sat, 07 Mar 2009 15:26:24 -0000
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 43
Message-ID: <op.uqfg6ae2utk0y1@aimac.local>
References: <gor2lh$feg$1@achot.icm.edu.pl> <gor893$ook$1@nemesis.news.neostrada.pl> <gor9bq$oip$1@achot.icm.edu.pl> <gorb3n$a5b$1@atlantis.news.neostrada.pl> <gorvec$t65$1@achot.icm.edu.pl> <op.uqd2icdoutk0y1@aimac.local> <gotpj5$2v3$1@achot.icm.edu.pl>
NNTP-Posting-Host: cpc1-acto1-2-0-cust35.4-2.cable.virginmedia.com
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1236439586 18221 82.28.217.36 (7 Mar 2009 15:26:26 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Sat, 7 Mar 2009 15:26:26 +0000 (UTC)
X-User: pornelspam
User-Agent: Opera Mail/10.00 (MacIntel)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit