Jeg har lavet et login-script, som opfører sig underligt. På
min egen webserver og på mit eget webhotel, er der ingen
problemer. Men på et andet webhotel, får man lov at komme
forbi scriptet uden at indtaste brugernavn og adgangskode.
Nogen der kan forklare, hvad der går galt?
Scriptet består af to dele. Første del er indsat over doctypen:
<?php
session_start();
$bruger = "brugernavn";
$kode = "kode";
$logintekst = "<h2>Denne side kræver login</h2>";
$hjemmeside = "
http://bjarnekroghhansen.dk";
/* Hvis der er logget af */
if (isset($_REQUEST['logaf'])) {
session_destroy();
header("Location: $hjemmeside");
}
if (isset($_REQUEST['bruger'])) {
$_SESSION['bruger'] = $_REQUEST['bruger'];
}
if (isset($_REQUEST['kode'])) {
$_SESSION['kode'] = $_REQUEST['kode'];
}
?>
Længere nede på siden:
<?php
/* Hvis ikke logget ind vises login-formular */
if ($_SESSION['bruger'] != $bruger || $_SESSION['kode'] !=
$kode) {
?>
<div style="width:400px; text-align:center;
margin-left:auto; margin-right:auto;">
<?php echo $logintekst; ?>
<form action='<?php echo $_SERVER['php_self']; ?>'
method='post'>
// Her følger resten af formularen
}
?>
Her er siden, hvor det ikke virker. Klikker man to gange på
Send-knappen, får man lov at komme ind, selvom man ikke har
udfyldt felterne:
http://bjarnekroghhansen.dk/login/login.php
Kan fejlen ligge i nedenstående linje?
<form action='<?php echo $_SERVER['php_self']; ?>'
method='post'>
når jeg beder om kildekoden på siden, ser linjen sådan ud:
<form action='' method='post'>
--
Mvh. Kim Ludvigsen
Gratis backup med Ceren Backup.
http://kimludvigsen.dk