webForumDet fria alternativet

Förhindra att någon postar i formulär "utifrån"

ASP

8 svar · 279 visningar · startad av Cmart

Medlem sedan feb. 200269 inlägg
Frågan#1

Hur gör jag för att förhindra att någon postar i mina formulär "utanför" sidan.

Ex. någon gör en egen html-fil där de ändar:

<form action="min_sida_pa_servern.asp">

till:

<form action="http://www.mindomän.se/min_sida_pa_servern.asp">

och på så sätt kan komma förbi java-script eller köra automatiserde postningar etc.

Medlem sedan juli 20015 107 inlägg
#2

du kan juhe på formulärsidan där man skriver i formulären skapa en session, och på sidan som behandlar datan, så kontrollerar du om den sessionen existerar, om inte skicka iväg han till någon annan sida.

Medlem sedan feb. 200269 inlägg
#3

Låter ju som en vettig lösning. Ska prova det.

Kom på en anna grej?

Kan det vara bättre att göra en cookie som lägger till serverns ip-nummer och sedan kollar cookien på sidan där man postar?

En session som öppnas tar jväl en del resurser på servern?

Medlem sedan juli 20015 107 inlägg
#4

annars skulle du väl kunna köra något liknande. Tror jag.

strPath1 = request.servervariables("HTTP_REFERER")
strPath2 = ' SÖKVÄG TILL DOKUMENTET SOM POSTADE FORMULÄREN

IF strPath1 <> strPath2 THEN
     response.redirect "http://www.disney.com"
End if
Medlem sedan dec. 20025 871 inlägg
#5

Använd servervariabeln HTTP_REFERER för att kolla om anropet kommer ifrån din server.

r\ Alltså... :OO

Medlem sedan dec. 20003 563 inlägg
#6

Om du använder HTTP_REFERER stänger du ute de användare vars brandvägg inte tillåter HTTP_REFERER.

Medlem sedan mars 20015 287 inlägg
#7

OM det är så att HTTP_REFERER är tomt om brandväggen inte tillåter användandet skulle man i alla fall kunna kasta ut de som har något annat än tomt eller ens egen adress där.
Alltid stoppar det någon.

Medlem sedan feb. 200269 inlägg
#8

HTTP_REFERER verkar bli tom i alldelses för många fall för att det skulle vara någon mening att tillåta den vara tom, och det är ju synd att stänga ute vissa andvändare från att posta bara för att de har brandvägg. Sessionen blir väl enda tänkbara då antagligen för att lägga kontrollen "Server-side"

Medlem sedan juni 20034 013 inlägg
#9

HTTP_REFERER är för lätt att gå runt. Cookie likaså. Och det enda du uppnår med session är att man måste besöka din sida först innan man skickar sin egen variant av formuläret.

Javaskript kan man alltid gå förbi. Automatiserade postningar är något du måste stoppa på servern. Det klassiska sättet att stoppa dem är att visa en bild som föreställer några bokstäver och siffror som man måste skriva av.

256 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)