Avatar billede Slettet bruger
03. januar 2007 - 09:26 Der er 9 kommentarer og
1 løsning

Hvorfra bliver en POST afviklet.

Hej

Jeg har brug for at sikre mig at en POST formular bliver afsendt fra mit domæne. Jeg ved mange ISP'er bruger det på deres form2mail scripts, men hvordan gør man det..?

Mvh, Michael
Avatar billede coderdk Praktikant
03. januar 2007 - 09:27 #1
F.eks. med en sessionvariabel, cookie eller ved at checke $_SERVER['HTTP_REFERER'] (om den indeholder $_SERVER['HTTP_HOST'] f.eks.)
Avatar billede jensgram Nybegynder
03. januar 2007 - 09:34 #2
... hvor coderdks sidstnævnte forslag må karakteriseres som det mindst sikre, da HTTP_REFERER relativt let kan sættes / forfalskes af klienten.
Avatar billede coderdk Praktikant
03. januar 2007 - 09:38 #3
Yep, men ikke desto mindre er det den mest benyttede af mulighederne ;) Det er også typisk sådan man forhindrer hotlinking af billeder f.eks.
FireFox har refspoof og mange andre hvor du selv kan sætte en ref[f]erer :)
Avatar billede Slettet bruger
03. januar 2007 - 09:40 #4
ok - formularen bliver afsendt fra en Flash Applikation, og det er vigtigt at den ikke misbruges lokalt eller fra et andet domæne. I Firefox returnerer $_SERVER['HTTP_REFERER'] ikke noget - det gør den derimod i IE. Men hvad er det mest sikre ellers..?
Avatar billede jensgram Nybegynder
03. januar 2007 - 10:15 #5
coderdk > Ja, helt sikkert. Og det er også langt bedre end ingenting. Ville blot påpege en evt. svaghed.
Avatar billede intenz Novice
03. januar 2007 - 16:41 #6
Alternativt kunne du lave en form for kode der dobbelttjekkes efter submit:
F.eks. på siden med formularen:

<?
$time = time();
$min_hemmelige_kode = "jeg_er_hemmelig";
$min_kode = $min_hemmelige_kode.$time;
$kode = md5($min_kode);
?>

Og filføje de 2 felter som hidden:
<input type="hidden" name="kode" value="<?=$kode?>">
<input type="hidden" name="time" value="<?=$time?>">


I den fil du poster til:
<?
$time = time()-(2*60);
$min_hemmelige_kode = "jeg_er_hemmelig";
$min_kode = $min_hemmelige_kode.$_POST['time'];
$kode = md5($min_kode);

if ($min_kode == $_POST['min_kode'] && $_POST['time'] > $time) { // tjekker kode og at den er submittet for mindre end 2 min siden
print "jaah, du har den rigtige kode";
}
?>

Det er bare et eksempel, det kan selvfølgelig også hentes ind af en ekstern side. Men det kan gøres endnu mere sikker hvis man har lyst til det. Bare for at give dig en ide til det.
Avatar billede jensgram Nybegynder
03. januar 2007 - 18:44 #7
intenz > Jeps. http://www.eksperten.dk/artikler/1051 kan desuden anbefales.
Avatar billede Slettet bruger
04. januar 2007 - 10:14 #8
Tak for alle inputs.

Vi anvender i forvejen sessions og hashværdier, for at besværliggøre evt. snyd.

Jeg havde dog håbet at man via noget server-side kunne holde en garanti for,
at der submittes på det påkrævede domæne.

Fx. ved jeg Scannet bruger det på deres såkaldte form2mail script som godt nok afvikles i Asp. Men det ser ud til at blokke uanset hvilken browser der anvendes.
http://www.google.com/search?sourceid=navclient&aq=t&ie=UTF-8&rls=SUNA,SUNA:2006-40,SUNA:en&q=%22De+har+ikke+adgang+til+at+benytte+dette+script%22

Men smid lige et svar, Jer som vil have points som tak for indtsatsen :)
Avatar billede coderdk Praktikant
04. januar 2007 - 10:19 #9
Ingen til mig, tak :)
Avatar billede jensgram Nybegynder
04. januar 2007 - 12:55 #10
Heller ikke her.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging