Hallo zusammen,
ich lerne aktuell PHP und jQuery und bin bei einem Login-Script auf zwei Probleme gestoßen (Hier beispielhaft zusammengefasst).
1) Wenn ich aktuell das Passwort eingebe, lande ich auf der "Startseite" mit einem Beispiel-Button, der ein Alert auslösen soll.
Allerdings funktioniert dieser Button erst, wenn ich die Seite nochmal neulade (vermutlich weil das jQuery Script die "zweite" Seite garnicht kennt? oder das die das Script anhält?).
2) Aktuell lässt sich die Session ganz leicht austricksen, indem man ein zweites Loginscript baut, das die gleiche Sessionvariable (sagt man das so?) erzeugt, aber ein anderes Passwort fordert. Gibt es einen einfachen Weg, die Session zu überprüfen?
Vielen Dank für eure Antworten schonmal.
Anbei das Script:
ich lerne aktuell PHP und jQuery und bin bei einem Login-Script auf zwei Probleme gestoßen (Hier beispielhaft zusammengefasst).
1) Wenn ich aktuell das Passwort eingebe, lande ich auf der "Startseite" mit einem Beispiel-Button, der ein Alert auslösen soll.
Allerdings funktioniert dieser Button erst, wenn ich die Seite nochmal neulade (vermutlich weil das jQuery Script die "zweite" Seite garnicht kennt? oder das die das Script anhält?).
2) Aktuell lässt sich die Session ganz leicht austricksen, indem man ein zweites Loginscript baut, das die gleiche Sessionvariable (sagt man das so?) erzeugt, aber ein anderes Passwort fordert. Gibt es einen einfachen Weg, die Session zu überprüfen?
Vielen Dank für eure Antworten schonmal.
Anbei das Script:
PHP-Code:
<?php
session_start();
?>
<!DOCTYPE html>
<html lang="de">
<head>
<title>Test Login</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<script type="text/javascript">
$(function(){
$('#button').on('click', function(){
alert('hallo');
})
});
</script>
</head>
<body>
<?php
if(!isset($_SESSION['userid'])){
if (isset($_GET['login'])){
if ($_GET['login'] == '1'){
$password = 'Test';
$postpassword = $_POST['password'];
if ($password == $postpassword) {
$_SESSION['userid'] = 'usersession';
} else{
$errorMessage = "Passwort ungültig<br>";
echo $errorMessage;
}
}
}
}
if(!isset($_SESSION['userid'])) {
echo '<form action="?login=1" method="post">
<label>
Passwort
<input type="password" name="password">
</label>
<label>
<input type="submit" value="Abschicken">
</label>
</form></body></html>';
die('');
}
?>
<div data-role="page">
<div role="main" class="ui-content">
<input type="button" name="" value="Alert" id="button">
</div>
</div>
</body>
</html>
Kommentar