initial commit

This commit is contained in:
moo
2022-06-15 16:57:55 +02:00
parent a9336cc939
commit 4bdf697940
30 changed files with 2567 additions and 0 deletions

3
website_data/.htpasswd Normal file
View File

@@ -0,0 +1,3 @@
labor:$2y$10$EvX.uUHeCdqYyxibGxdXFeqjmddJoJqxgQwMSz1JWvt7fnhF69vRi
zutritt:$2y$10$oTWT3BoFf6K9f6oqGMxYyesU9TvqLjCj.zgBL6dyxdwWK7JVa5aiu
admin:$2y$10$oTWT3BoFf6K9f6oqGMxYyesU9TvqLjCj.zgBL6dyxdwWK7JVa5aiu

View File

@@ -0,0 +1,4 @@
AuthType Basic
AuthName "Doorknob Login (kein FET/LDAP!)"
AuthUserFile /var/www/.htpasswd
Require valid-user

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -0,0 +1,77 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta name="description" content="fet.at - abgesagte Prüfungen">
<meta name="author" content="fet.at">
<link href="style.css" rel="stylesheet" type="text/css">
<meta charset="UTF-8">
<title>fet.at - Lab Doorknob</title>
<meta name=viewport content="width=device-width, initial-scale=1, user-scalable=yes">
<script type="text/javascript">
function Ajax()
{
var
$http,
$self = arguments.callee;
if (window.XMLHttpRequest) {
$http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
$http = new ActiveXObject('Msxml2.XMLHTTP');
} catch(e) {
$http = new ActiveXObject('Microsoft.XMLHTTP');
}
}
if ($http) {
$http.onreadystatechange = function()
{
if (/4|^complete$/.test($http.readyState)) {
document.getElementById('ReloadThis').innerHTML = $http.responseText;
setTimeout(function(){$self();}, 1000);
}
};
$http.open('GET', 'get_access_log.php' + '?' + new Date().getTime(), true);
$http.send(null);
}
}
</script>
</head>
<body>
<script>0</script>
<div class="breitenbegrenzer">
<div class="centertext">
<big><big>Sarah <br>ACCESS LOG</big></big><br>
<a href="/">
<img src="FET-Logo.png" height="100px">
<br>
HOME</a>
</div>
<br>
Hier wird live das access log angezeigt. <br><br>
Access log:<br>
<script type="text/javascript">
setTimeout(function() {Ajax();}, 1000);
</script>
<div id="ReloadThis">Default text</div>
<div class="centertext">
<br><br><br>
<a href="https://www.fet.at/kontakt">Kontakt</a> <br>fet.at - 2022
</div>
</div>
</body></html>

View File

@@ -0,0 +1,77 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta name="description" content="fet.at - abgesagte Prüfungen">
<meta name="author" content="fet.at">
<link href="style.css" rel="stylesheet" type="text/css">
<meta charset="UTF-8">
<title>fet.at - Lab Doorknob</title>
<meta name=viewport content="width=device-width, initial-scale=1, user-scalable=yes">
<script type="text/javascript">
function Ajax()
{
var
$http,
$self = arguments.callee;
if (window.XMLHttpRequest) {
$http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
$http = new ActiveXObject('Msxml2.XMLHTTP');
} catch(e) {
$http = new ActiveXObject('Microsoft.XMLHTTP');
}
}
if ($http) {
$http.onreadystatechange = function()
{
if (/4|^complete$/.test($http.readyState)) {
document.getElementById('ReloadThis').innerHTML = $http.responseText;
setTimeout(function(){$self();}, 1000);
}
};
$http.open('GET', 'get_debug_log.php?lines=20' + '&time=' + new Date().getTime(), true);
$http.send(null);
}
}
</script>
</head>
<body>
<script>0</script>
<div class="breitenbegrenzer">
<div class="centertext">
<big><big>Sarah <br>DEBUG LOG</big></big><br>
<a href="/">
<img src="FET-Logo.png" height="100px">
<br>
HOME</a>
</div>
<br>
Hier wird live das debug log angezeigt. <br><br>
Debug log:<br>
<script type="text/javascript">
setTimeout(function() {Ajax();}, 1000);
</script>
<div id="ReloadThis">Default text</div>
<div class="centertext">
<br><br><br>
<a href="https://www.fet.at/kontakt">Kontakt</a> <br>fet.at - 2022
</div>
</div>
</body></html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1 @@
( h 6

View File

@@ -0,0 +1,8 @@
<?php
$date_today = date("Ymd");
echo "<pre>".shell_exec("tail -20 /home/zutritt/Documents/sarah/logs/".$date_today."_entrance_log.csv")."</pre>";
?>

View File

@@ -0,0 +1,15 @@
<?php
if(isset($_GET['lines'])) {
$lines = $_GET['lines'];
}
else {
$lines = 20;
}
$date_today = date("Ymd");
echo "<pre>".shell_exec("tail -". $lines ." /home/zutritt/Documents/sarah/logs/".$date_today."_debug_log.csv")."</pre>";
?>

View File

@@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta name="description" content="fet.at - abgesagte Prüfungen">
<meta name="author" content="fet.at">
<link href="style.css" rel="stylesheet" type="text/css">
<meta charset="UTF-8">
<title>fet.at - Lab Doorknob</title>
<meta name=viewport content="width=device-width, initial-scale=1, user-scalable=yes">
</head>
<body>
<script>0</script>
<div class="breitenbegrenzer">
<div class="centertext">
<big><big>Sarah <br>(Simple Access for RFID Authenticated Homes)</big></big><br>
<img src="FET-Logo.png" height="100px">
<br>
</div>
He du!<br>
Dies ist das Backend vom doorknob reader. Dieser regelt wer ins FET lab darf und wer nicht. <br>
Bei Fragen wende dich gerne ans Lab-Team (lab@fet.at).<br><br>
<a href="user_management.php">Open User management</a><br>
<a href="access_log.php">Open Access log</a><br>
<a href="debug_log.php">Open Debug log</a><br>
<a href="manual_open.php">Manual door opening</a><br>
<a href="system_functions.php">System functions</a><br>
<div class="centertext">
<br><br><br>
<a href="https://www.fet.at/kontakt">Kontakt</a> <br>pet@fet.at - 2022
</div>
</div>
</body></html>

View File

@@ -0,0 +1,49 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta name="description" content="fet.at - abgesagte Prüfungen">
<meta name="author" content="fet.at">
<link href="style.css" rel="stylesheet" type="text/css">
<meta charset="UTF-8">
<title>fet.at - Lab Doorknob</title>
<meta name=viewport content="width=device-width, initial-scale=1, user-scalable=yes">
</head>
<body>
<script>0</script>
<div class="breitenbegrenzer">
<div class="centertext">
<big><big>Sarah <br>MANUAL OPEN</big></big><br>
<a href="/">
<img src="FET-Logo.png" height="100px">
<br>
HOME</a>
</div>
<br>
Auf Knopfdruck öffnet sich die Tür - Sesam öffne dich. <br><br>
<?php
if(isset($_POST['open_door'])) {
$manual_door_open_file = fopen("/home/zutritt/Documents/sarah/system_request_commands/manual_door_open_request_set", "w");
fclose($manual_door_open_file);
chmod("/home/zutritt/Documents/sarah/system_request_commands/manual_door_open_request_set", 0777); //chmod so that the python script can delete
//we just open the file so it exists, no need to write anything to it
$date_now = date("Y-m-d H:i:s");
echo $date_now.": Door openened.";
}
?>
<form method="post">
<input type="submit" name="open_door"
value="open door now"/>
</form>
<div class="centertext">
<br><br><br>
<a href="https://www.fet.at/kontakt">Kontakt</a> <br>pet@fet.at - 2022
</div>
</div>
</body></html>

14
website_data/html/style.css Executable file
View File

@@ -0,0 +1,14 @@
body {
background-color:lightgrey;
}
div.breitenbegrenzer {
margin: auto;
max-width: 1000px;
#text-align: center;
}
div.centertext {
text-align: center;
}

View File

@@ -0,0 +1,52 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta name="description" content="fet.at - abgesagte Prüfungen">
<meta name="author" content="fet.at">
<link href="style.css" rel="stylesheet" type="text/css">
<meta charset="UTF-8">
<title>fet.at - Lab Doorknob</title>
<meta name=viewport content="width=device-width, initial-scale=1, user-scalable=yes">
</head>
<body>
<script>0</script>
<div class="breitenbegrenzer">
<div class="centertext">
<big><big>Sarah <br>SYSTEM FUNCTIONS</big></big><br>
<a href="/">
<img src="FET-Logo.png" height="100px">
<br>
HOME</a>
</div>
<br>
Es gibt nur eine Systemfunktion: <br>
Have you tried turning it off and on again? <br><br>
Dauert ca. 3-5min.<br><br>
<?php
if(isset($_POST['restart_system'])) {
$manual_door_open_file = fopen("/home/zutritt/Documents/sarah/system_request_commands/manual_restart_machine_request_set", "w");
fclose($manual_door_open_file);
chmod("/home/zutritt/Documents/sarah/system_request_commands/manual_restart_machine_request_set", 0777); //chmod so that the python script can delete
//we just open the file so it exists, no need to write anything to it
$date_now = date("Y-m-d H:i:s");
echo $date_now.": System restart queued. <font color='red'>3-5min dauerts.</font>";
}
?>
<form method="post">
<input type="submit" name="restart_system"
value="restart_system"/>
</form>
<div class="centertext">
<br><br><br>
<a href="https://www.fet.at/kontakt">Kontakt</a> <br>pet@fet.at - 2022
</div>
</div>
</body></html>

View File

@@ -0,0 +1,103 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta name="description" content="fet.at - abgesagte Prüfungen">
<meta name="author" content="fet.at">
<link href="style.css" rel="stylesheet" type="text/css">
<meta charset="UTF-8">
<title>fet.at - Lab Doorknob</title>
<meta name=viewport content="width=device-width, initial-scale=1, user-scalable=yes">
<script type="text/javascript">
function Ajax()
{
var
$http,
$self = arguments.callee;
if (window.XMLHttpRequest) {
$http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
$http = new ActiveXObject('Msxml2.XMLHTTP');
} catch(e) {
$http = new ActiveXObject('Microsoft.XMLHTTP');
}
}
if ($http) {
$http.onreadystatechange = function()
{
if (/4|^complete$/.test($http.readyState)) {
document.getElementById('ReloadThis').innerHTML = $http.responseText;
setTimeout(function(){$self();}, 1000);
}
};
$http.open('GET', 'get_debug_log.php?lines=2' + '&time=' + new Date().getTime(), true);
$http.send(null);
}
}
</script>
</head>
<body>
<script>0</script>
<div class="breitenbegrenzer">
<div class="centertext">
<big><big>Sarah <br>USER MANAGEMENT</big></big><br>
<a href="/">
<img src="FET-Logo.png" height="100px">
<br>
HOME</a>
</div>
<br>
Du kannst berechtigte User_Innen hier anschauen und ändern. <br><br>
Letzte Zeile aus dem Debug log, damit du die UID rauskopieren kannst:<br>
<script type="text/javascript">
setTimeout(function() {Ajax();}, 1000);
</script>
<div id="ReloadThis">Default text</div>
<?php
if (isset($_POST['edit_file'])){
$content = $_POST['edit_user_text'];
$file = "/home/zutritt/Documents/sarah/data.csv";
$Saved_File = fopen($file, 'w');
fwrite($Saved_File, $content);
fclose($Saved_File);
echo "<font color='green'>User file updated:</font>";
}
else{
echo "Komplette Liste:";
}
?>
<form method="post" action="" id="edit_form">
<textarea name="edit_user_text" rows="20" cols="80"><?php
echo(htmlspecialchars(file_get_contents("/home/zutritt/Documents/sarah/data.csv")));
?></textarea><br>
<input type="submit" value="Speichern" name="edit_file">
</form>
<br><br>
Alles was da rauslöscht ist weg. Es gibt keine Kontrolle oder jegwelchen sanity-check. Use at you own risk.
<div class="centertext">
<br><br><br>
<a href="https://www.fet.at/kontakt">Kontakt</a> <br>pet@fet.at - 2022
</div>
</div>
</body></html>

View File

@@ -0,0 +1,121 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta name="description" content="fet.at - abgesagte Prüfungen">
<meta name="author" content="fet.at">
<link href="style.css" rel="stylesheet" type="text/css">
<meta charset="UTF-8">
<title>fet.at - Lab Doorknob</title>
<meta name=viewport content="width=device-width, initial-scale=1, user-scalable=yes">
<script type="text/javascript">
function Ajax()
{
var
$http,
$self = arguments.callee;
if (window.XMLHttpRequest) {
$http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
$http = new ActiveXObject('Msxml2.XMLHTTP');
} catch(e) {
$http = new ActiveXObject('Microsoft.XMLHTTP');
}
}
if ($http) {
$http.onreadystatechange = function()
{
if (/4|^complete$/.test($http.readyState)) {
document.getElementById('ReloadThis').innerHTML = $http.responseText;
setTimeout(function(){$self();}, 1000);
}
};
$http.open('GET', 'get_debug_log.php?lines=1' + '&time=' + new Date().getTime(), true);
$http.send(null);
}
}
</script>
</head>
<body>
<script>0</script>
<div class="breitenbegrenzer">
<div class="centertext">
<big><big>Sarah <br>USER MANAGEMENT</big></big><br>
<a href="/">
<img src="FET-Logo.png" height="100px">
<br>
HOME</a>
</div>
<br>
Du kannst berechtigte User_Innen hier anschauen und ändern. <br><br>
(ÄNDERN IST NOCH NICHT IMPLEMENTIERT, 14.6.22 pet)<br><br>
<?php
if(isset($_POST['name'])) {
$add_uid = $_POST['UID'];
$add_matrikelnummer = $_POST['matrikelnummer'];
$add_name = $_POST['name'];
$add_expire = $_POST['expire'];
$date_now = date("Y-m-d H:i:s");
echo $date_now.": Daten hinzugefügt: ";
}
?>
<form method="post">
<label for="fname">Name:</label><br>
<input type="text" id="UID" name="UID" value="0x40x4c0x800x320x500x380x80" size="30"><br>
<input type="text" id="matrikelnummer" name="matrikelnummer" value="01326142" size="11"><br>
<input type="text" id="name" name="name" value="Petra Besser" size="30"><br>
<input type="text" id="expire" name="expire" value="2023-06-18" size="10"><br>
<input type="submit" value="Submit"/>
</form>
Hier gewünschte ID rauskopieren:<br>
<script type="text/javascript">
setTimeout(function() {Ajax();}, 1000);
</script>
<div id="ReloadThis">Default text</div>
<?php
echo '
<p style="text-align:left;">
<ul>';
$handle = fopen("/home/zutritt/Documents/sarah/data.csv", "r");
$line = fgets($handle); //dump the first line
if ($handle) {
while (($line = fgets($handle)) !== false) {
[$uid, $matrikelnummer, $name, $expiration_date] = str_getcsv($line);
echo '<li>' . 'Matrikelnummer: ' . $matrikelnummer .', Name: ' .$name . ', Ablaufdatum: ' . $expiration_date . ', UID: ' . $uid . '<br></li>';
}
fclose($handle);
}
echo '
</ul>
</p>
';
?>
<div class="centertext">
<br><br><br>
<a href="https://www.fet.at/kontakt">Kontakt</a> <br>pet@fet.at - 2022
</div>
</div>
</body></html>

View File

@@ -0,0 +1,121 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta name="description" content="fet.at - abgesagte Prüfungen">
<meta name="author" content="fet.at">
<link href="style.css" rel="stylesheet" type="text/css">
<meta charset="UTF-8">
<title>fet.at - Lab Doorknob</title>
<meta name=viewport content="width=device-width, initial-scale=1, user-scalable=yes">
<script type="text/javascript">
function Ajax()
{
var
$http,
$self = arguments.callee;
if (window.XMLHttpRequest) {
$http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
$http = new ActiveXObject('Msxml2.XMLHTTP');
} catch(e) {
$http = new ActiveXObject('Microsoft.XMLHTTP');
}
}
if ($http) {
$http.onreadystatechange = function()
{
if (/4|^complete$/.test($http.readyState)) {
document.getElementById('ReloadThis').innerHTML = $http.responseText;
setTimeout(function(){$self();}, 1000);
}
};
$http.open('GET', 'get_debug_log.php?lines=1' + '&time=' + new Date().getTime(), true);
$http.send(null);
}
}
</script>
</head>
<body>
<script>0</script>
<div class="breitenbegrenzer">
<div class="centertext">
<big><big>Sarah <br>USER MANAGEMENT</big></big><br>
<a href="/">
<img src="FET-Logo.png" height="100px">
<br>
HOME</a>
</div>
<br>
Du kannst berechtigte User_Innen hier anschauen und ändern. <br><br>
(ÄNDERN IST NOCH NICHT IMPLEMENTIERT, 14.6.22 pet)<br><br>
<?php
if(isset($_POST['name'])) {
$add_uid = $_POST['UID'];
$add_matrikelnummer = $_POST['matrikelnummer'];
$add_name = $_POST['name'];
$add_expire = $_POST['expire'];
$date_now = date("Y-m-d H:i:s");
echo $date_now.": Daten hinzugefügt: ";
}
?>
<form method="post">
<label for="fname">Name:</label><br>
<input type="text" id="UID" name="UID" value="0x40x4c0x800x320x500x380x80" size="30"><br>
<input type="text" id="matrikelnummer" name="matrikelnummer" value="01326142" size="11"><br>
<input type="text" id="name" name="name" value="Petra Besser" size="30"><br>
<input type="text" id="expire" name="expire" value="2023-06-18" size="10"><br>
<input type="submit" value="Submit"/>
</form>
Hier gewünschte ID rauskopieren:<br>
<script type="text/javascript">
setTimeout(function() {Ajax();}, 1000);
</script>
<div id="ReloadThis">Default text</div>
<?php
echo '
<p style="text-align:left;">
<ul>';
$handle = fopen("/home/zutritt/Documents/sarah/data.csv", "r");
$line = fgets($handle); //dump the first line
if ($handle) {
while (($line = fgets($handle)) !== false) {
[$uid, $matrikelnummer, $name, $expiration_date] = str_getcsv($line);
echo '<li>' . 'Matrikelnummer: ' . $matrikelnummer .', Name: ' .$name . ', Ablaufdatum: ' . $expiration_date . ', UID: ' . $uid . '<br></li>';
}
fclose($handle);
}
echo '
</ul>
</p>
';
?>
<div class="centertext">
<br><br><br>
<a href="https://www.fet.at/kontakt">Kontakt</a> <br>pet@fet.at - 2022
</div>
</div>
</body></html>

View File

@@ -0,0 +1,101 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta name="description" content="fet.at - abgesagte Prüfungen">
<meta name="author" content="fet.at">
<link href="style.css" rel="stylesheet" type="text/css">
<meta charset="UTF-8">
<title>fet.at - Lab Doorknob</title>
<meta name=viewport content="width=device-width, initial-scale=1, user-scalable=yes">
<script type="text/javascript">
function Ajax()
{
var
$http,
$self = arguments.callee;
if (window.XMLHttpRequest) {
$http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
$http = new ActiveXObject('Msxml2.XMLHTTP');
} catch(e) {
$http = new ActiveXObject('Microsoft.XMLHTTP');
}
}
if ($http) {
$http.onreadystatechange = function()
{
if (/4|^complete$/.test($http.readyState)) {
document.getElementById('ReloadThis').innerHTML = $http.responseText;
setTimeout(function(){$self();}, 1000);
}
};
$http.open('GET', 'get_debug_log.php?lines=2' + '&time=' + new Date().getTime(), true);
$http.send(null);
}
}
</script>
</head>
<body>
<script>0</script>
<div class="breitenbegrenzer">
<div class="centertext">
<big><big>Sarah <br>USER MANAGEMENT</big></big><br>
<a href="/">
<img src="FET-Logo.png" height="100px">
<br>
HOME</a>
</div>
<br>
Du kannst berechtigte User_Innen hier anschauen und ändern. <br><br>
(ÄNDERN IST NOCH NICHT IMPLEMENTIERT, 14.6.22 pet)<br><br>
Letzte Zeile aus dem Debug log:<br>
<script type="text/javascript">
setTimeout(function() {Ajax();}, 1000);
</script>
<div id="ReloadThis">Default text</div>
<?php
if (isset($_POST['edit_file'])){
//$content = $_POST['edit_user_text'];
//$file = "/home/zutritt/Documents/sarah/data.csv";
//$Saved_File = fopen($file, 'w');
//fwrite($Saved_File, $content);
//fclose($Saved_File);
echo "<font color='green'>User file updated:</font>";
}
?>
<form method="post" action="" id="edit_form">
Liste:<br>
<textarea name="edit_user_text" rows="20" cols="80"><?php
echo(htmlspecialchars(file_get_contents("/home/zutritt/Documents/sarah/data.csv")));
?></textarea><br>
<input type="submit" value="Speichern" name="edit_file">
</form>
<div class="centertext">
<br><br><br>
<a href="https://www.fet.at/kontakt">Kontakt</a> <br>pet@fet.at - 2022
</div>
</div>
</body></html>