Show sourcecode
The following files exists in this folder. Click to view.
webbserverprogrammering/exercises/quiz/
admin.php
dbconnection.php
glömtLösen.php
index.php
quiz.php
quiz_css.css
rättning.php
skapaTabell.php
verify.php
index.php
184 lines UTF-8 Windows (CRLF)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
<?php
error_reporting(-1); // Report all type of errors
ini_set('display_errors', 1); // Display all errors
ini_set('output_buffering', 0); // Do not buffer outputs, write directly
session_start();
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>QUIZ - Logga in</title>
<link rel="stylesheet" type="text/css" href="quiz_css.css">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body id="body">
<form method="post" action="">
<h3>Logga in</h3>
<table>
<tr>
<td>Användarnamn</td>
<td><input type="text" name="user"></td>
</tr>
<tr>
<td>Lösenord</td>
<td><input type="password" name="pass"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="" value="Gå vidare"></td>
</tr>
<tr>
<td></td>
<td id="glömt" onclick="glömt()">Glömt lösenord?</td>
</tr>
<tr>
<td><h3>Skapa konto</h3></td>
<td></td>
</tr>
<tr>
<td>E-post</td>
<td><input type="text" name="regepost"></td>
</tr>
<tr>
<td>Användarnamn</td>
<td><input type="text" name="reguser"></td>
</tr>
<tr>
<td>Lösenord</td>
<td><input type="password" name="regpass" id="pass"></td>
</tr>
<tr>
<td>Bekräfta lösenord</td>
<td><span id="valtext"></span><input type="password" name="validpass" id="valid" onchange="myScript()"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" id="reg" value="Registrera"></td>
</tr>
</table>
<script type="text/javascript">
function myScript() {
var x = document.getElementById("valid").value;
var y = document.getElementById("pass").value;
console.log(x+y);
if (x!=y) {
document.getElementById("valtext").innerHTML = "Lösenorden överenstämmer inte<br>";
document.getElementById("reg").disabled = true;
}
else
document.getElementById("valtext").innerHTML = "";
document.getElementById("reg").disabled = false;
}
var glömtForm = "<form action='glömtLösen.php' method='post'><h4>Glömt lösenord</h4>Ange epostadress: <input type='email' name='epost'> <input type='submit' value='Begär lösenordsbyte'></form>";
function glömt(){
document.getElementById('body').innerHTML += glömtForm;
glömtForm = "";
}
</script>
</form>
<?php
if(isset($_POST["user"]) && isset($_POST["pass"]) && $_POST["user"]!="" && $_POST["pass"]!="" ){
include ('dbconnection.php');
$username = $_POST["user"];
$password = $_POST["pass"];
//Admininlogg
if ($username == "admin" && password_verify($password, '$2y$12$J4uY4dsyEbh1BH1atYqhDeJbUtqpild5D5jRwTclbVO5Iy1ySI79e')) {
$_SESSION["inloggad"] = true;
header("Location:admin.php");
}
//Vanlig inlogg
$sql = "SELECT * FROM QUIZAnvändare WHERE användarnamn=? " ;
$stmt = $dbconn->prepare($sql);
$data = array($username);
$stmt->execute($data);
$res = $stmt->fetch(PDO::FETCH_ASSOC);
if (password_verify($password, $res["password"])) {
if ($res["epost"]!="ejVerif") {
$_SESSION["inloggad"] = $username;
header("location: quiz.php");
}
else echo "Kontrollera din epost för att verifera adressen";
}
else echo "Felaktigt Löseord";
}
elseif(isset($_POST["reguser"]) && isset($_POST["regepost"]) && $_POST["reguser"]!="" && $_POST["regepost"]!=""
&& isset($_POST["regpass"]) && $_POST["regpass"]!=""){
//Registrera konto
$epost = $_POST['regepost'];
$username = $_POST['reguser'];
$password = $_POST['regpass'];
include ('dbconnection.php');
//Kontrollera om epost redan finns
$sql = "SELECT * FROM QUIZAnvändare WHERE epost= ?";
$stmt = $dbconn->prepare($sql);
$data = array($epost);
$stmt ->execute($data);
$antalposter = $stmt -> rowCount();
if ($antalposter!=1) {
//Skapa användare
try {
# prepare
$password = password_hash($password, PASSWORD_DEFAULT);
$sql = "INSERT INTO QUIZAnvändare (användarnamn, password, epost, reg_date)
VALUES (?, ?, ?, now())";
$stmt = $dbconn->prepare($sql);
$data = array($username, $password, "ejVerif");
$stmt->execute($data);
$meddelande = "<!DOCTYPE html>
<html lang='sv'>
<head>
<meta charset='utf-8'/>
<title>Grundkod för HTML5</title>
<style type='text/css'>
body{
background-color: #397;
font-family: arial;
height:700px;
padding:20px;
font-size:12px;
}
form{
margin: auto;
top: 90px;
border:1px #000 solid;
width: 500px;
padding: 20px;
background-color: #999;
margin-bottom: 15px;
}
span{
margin:auto;
}
.gederpeder{
font-size:6px;
}
</style>
</head>
<body>
<h2>Välkommen till quizet!</h2>
<form action='http://labb.vgy.se/~albinbm/webbserverprogrammering/exercises/quiz/verify.php' method='post'>
<strong>Tack</strong> för att du valt att registrera dig! Klicka på knappen och logga sedan in för att komma igång att spela. Har du inte registrerat dig på Albins quiz kan du bortse från detta brev.
<input type='hidden' name='anv' value='".$username."'>
<input type='hidden' name='epost' value='".$epost."'>
<input type='submit' value='Verifiera din e-postadress nu!'>
</form>
<div class='gederpeder'>Om du är en EU-förespråkande verklighetsfrånvänd globalist som funderar på hur vi hanterar personuppgifter kan du inte läsa mer om detta på vår hemsida. Kanske används dina personuppgifter just nu av ryska hackers till identitetskapningar. Du kan iallafall glädjas åt att vi inte sparar några kakor i din webbläsare.</div>
<span> Albinquizet © 2020</span>
</body>
</html>";
mail($epost, "Verifiera din epost", $meddelande, 'From: noreply@albinsquiz.vgy' . "\r\n" . "MIME-Version: 1.0\r\nContent-Type: text/html; charset=UTF-8\r\n");
echo "Ett e-postmeddelande har skickats till $epost";
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}
}
else echo "användare existerar redan";
}
?>
</body>
</html>