webForumDet fria alternativet

Formulär (säkerhet)

PHP

4 svar · 301 visningar · startad av DAAAAANIEL

Medlem sedan feb. 200524 inlägg
Frågan#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");
    }
}
?>
273 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)