Formulär (säkerhet)

PHP

4 svar · 306 visningar · startad av DAAAAANIEL

Medlem sedan feb. 200524 inlägg
Trådstart#1

lala

Medlem sedan jan. 20059 inlägg
#2

If-satsen lägger du i det mottagande scriptet.
Här följer ett exempel som kollar att de tre fälten inte innehåller < eller >.
Om något fält gör det skickas användaren vidare till en sida med felmeddelande.

<?

function checkinput($text){
 if(strpos($text, "<") !== FALSE || strpos($text, ">") !== FALSE){
  return(FALSE);
 }else{
  return(TRUE);
 }
}

// Hämtar innehållet från formuläret
$fnamn = $_POST['fnamn'];
$enamn = $_POST['enamn'];
$email = $_POST['email'];

if(checkinput($fnamn) && checkinput($enamn) && checkinput($email)){
 echo "Allt är OK.";
 // Gör något med texten
}else{
 header("Location: sida_med_felmeddelande.php"); // Skickar vidare till felmeddelande
}

?>
Medlem sedan feb. 200524 inlägg
#3

Okej. thx!

Medlem sedan juni 20031 837 inlägg
#4

Vaför har du redigerat bort din fråga?

Det är ganska bra om man låter de vara kvar så andra användaren kanske kan hitta svaret på sin fråga utan att behöva fråga här.

Medlem sedan okt. 20001 285 inlägg
#5

Prova detta..

<?
foreach ($_POST as $crap) {
    if (eregi("<[^>]*script*\"?[^>]*>", $crap)) {
        die ("EEEAAARRRGGGGGHHHH!!!!11");
    }
}
?>
264 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)