Kom ihåg mig?

Hur upptäcker jag en HEAD request i PHP?

 
Ämnesverktyg Visningsalternativ
Oläst 2011-12-22, 07:37 #1
znap znap är inte uppkopplad
Medlem
 
Reg.datum: Jun 2007
Inlägg: 114
znap znap är inte uppkopplad
Medlem
 
Reg.datum: Jun 2007
Inlägg: 114
Citat:
Ursprungligen postat av Kekke Visa inlägg
An associative array of variables passed to the current script via the HTTP POST method.

Det borde gå att köra

Kod:
if(isset($_POST)) {
    header ('Location: skickaivag.php');
}
## Samma med $_REQUEST
Men är ej 100 säker.
isset() kollar att en variabel existerar och att den inte är null, $_POST existerar alltid så därför blir det fel. Det du där ska använda är !empty($_POST) vilket kollar att den existerar och inte kan castas till false dvs att den inte är en tom sträng, tom array, null, false, 0, eller en sträng innehållandes en nolla.


Citat:
Ursprungligen postat av klein Visa inlägg
Varför vill man blockera HEAD requester? Bara en nyfiken fråga.
Han har väl aldrig sagt att han ska blockera anropet?

Rätt kontroll vore alltså att kolla if($_SERVER['REQUEST_METHOD'] == 'head'). Det är dock något underligt varför du vill göra en sån kontroll. Ett anrop med HEAD ska hanteras precis på samma sätt ett anrop med GET enligt specen, däremot behöver inte servern skicka ut svarets body, själva html-koden (eller vad det nu kan vara) som renderas i webbläsaren.
znap är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-12-22, 09:11 #2
emilvs avatar
emilv emilv är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Feb 2004
Inlägg: 1 564
emilv emilv är inte uppkopplad
Bara ett inlägg till!
emilvs avatar
 
Reg.datum: Feb 2004
Inlägg: 1 564
Citat:
Ursprungligen postat av znap Visa inlägg
Ett anrop med HEAD ska hanteras precis på samma sätt ett anrop med GET enligt specen, däremot behöver inte servern skicka ut svarets body, själva html-koden (eller vad det nu kan vara) som renderas i webbläsaren.
Varför ska man låta PHP generera HTTP-kroppen ifall det bara är huvudet som efterfrågas?

Citat:
Ursprungligen postat av swan Visa inlägg
Men igår såg jag att det i loggarna kom en ny robot som gjorde en "HEAD". Detta gör väl inte normalt människor? Så därför tänkte jag att jag blockar alla "HEAD" requests i framtiden.

Låter det rimligt?
Jo, normala webbläsare gör ofta HEAD, till exempel om de cachat sidan och vill se ifall de har en aktuell version. Det verkar vansinnigt att blockera HEAD-frågor.

Senast redigerad av emilv den 2011-12-22 klockan 09:18
emilv är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 19:13.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017