webForumDet fria alternativet

Referer-skydd?

7 svar · 475 visningar · startad av Troxy

TroxyMedlem sedan mars 20041 505 inlägg
#1

Hej. Jag har en hemsida med ett registrerings-formulär.

En vän till sa att han hade testat att registrera sig via ett HTML-formulär som han skapat lokalt på sin dator och sedan angivit min hemsida som action.

Det känns som jag vill skydda mig mot detta. Därför byggde jag denna funktion, som verkar fungera utmärkt.

function check_referer()
{
	if($_SERVER['REQUEST_METHOD']=='POST')
	{
		if
		(
		!isset($_SERVER['HTTP_HOST']) or
		!isset($_SERVER['HTTP_REFERER']) or
		!ereg($_SERVER['HTTP_HOST'],$_SERVER['HTTP_REFERER'])
		)
			return false;
		else
			return true;
	}
	else
		return true;
}

Frågan är: Är funktionen något att ha? Kan det uppstå problem?
Jag antar att man kan bluffa referer ändå, men funktionen borde väl skydda de flesta försök.

Mvh Troxy

UlfTMedlem sedan maj 20018 027 inlägg
#2

Man kan bluffa referer rätt enkelt om man vill. Själv funderar jag närmast på vad det är du vill kontrollera, och varför. Om någon registrerar sig genom ett formulär som inte finns på din site, vad spelar det för roll? Vad är det egentligen du försöker förhindra genom att tvinga folk att registrera sig via ett formulär som verkligen finns på din site? Varför skulle någon överhuvudtaget komma på idén att lägga upp ett särskilt formulär enbart för att kunna registrera sig på din site? Det är ju enklare att använda formuläret som redan finns på din site.

Det är möjligt att det finns bra skäl för dig att förhindra sådant. Kanske dessa skäl skulle kunna ge uppslag till någon idé om hur man förhindrar detta?

GunnarDMedlem sedan juni 20014 290 inlägg
#3

Tänk på att många personliga brandväggar tar bort referer variabeln eller ändra variabeln så det är inget säkert skydd att lita på att referer är satt.

Ett sätt är att godkänna om den är tom/ej satt eller innehåller din saijt, är den satt till någor annat neka registrering,

TroxyMedlem sedan mars 20041 505 inlägg
#4

Okay, tack för tipsen!

aasahMedlem sedan mars 20034 471 inlägg
#5

UlfT skrev:

... Det är möjligt att det finns bra skäl för dig att förhindra sådant. Kanske dessa skäl skulle kunna ge uppslag till någon idé om hur man förhindrar detta?

En sak att tänka på är att se till att utföra ALL säkerhetskoll av variabler i den PHP-sida som tar emot resultatet. Detta oavsett om du har kontroller för vissa saker via JavaScript i själva sidan eller inte. Det gäller inte bara login/registrering, det gäller 100% av all användning av GET, POST och COOKIE. Blotta faktum att det finns folk som kan komma på idén att göra den här typen av skript någon annanstans innebär att denna koll i den mottagande sidan är nödvändig.

Vi har ett upplysande exempel någonstans på wF..., jag ska se om jag kan hitta det... Det gick. Börja läsa vid länkat inlägg och neråt så förstår du varför det är viktigt!!!

UlfTMedlem sedan maj 20018 027 inlägg
#6

aasah skrev:

En sak att tänka på är att se till att utföra ALL säkerhetskoll av variabler i den PHP-sida som tar emot resultatet.

Ja. Och då finns det ingen anledning att kontrollera referer. :)

aasahMedlem sedan mars 20034 471 inlägg
#7

UlfT skrev:

Ja. Och då finns det ingen anledning att kontrollera referer. :)

Sant. Men om frågan ställs får man förmoda att vederbörande kanske inte förstår varför eller hur man gör istället.

UlfTMedlem sedan maj 20018 027 inlägg
#8

Visst. Men får man veta anledningen till varför frågeställaren vill göra det han vill, är det enklare att föreslå alternativa lösningar. :)

136 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)