php: init
This commit is contained in:
parent
1d8fb05acd
commit
a1f1f278cf
3 changed files with 126 additions and 0 deletions
48
src/html/index.php
Normal file
48
src/html/index.php
Normal file
|
@ -0,0 +1,48 @@
|
|||
<?php
|
||||
|
||||
$access_list_path = '/etc/tuer3.0/door_access_hashs';
|
||||
|
||||
if (!hasCredentials())
|
||||
render_default();
|
||||
elseif (hasValidCredentials())
|
||||
execute_cmd($_POST['cmd']);
|
||||
else
|
||||
render_failure();
|
||||
|
||||
function executeCmd($cmd) {
|
||||
switch($cmd) {
|
||||
case 'indoor_lock':
|
||||
sendKeyBLE('lock');
|
||||
break;
|
||||
case 'indoor_open':
|
||||
sendKeyBLE('open');
|
||||
break;
|
||||
default:
|
||||
render_failure();
|
||||
}
|
||||
}
|
||||
function hasCredentials() {
|
||||
$secret = $_GET['secret'] || $_COOKIES['secret'];
|
||||
return is_string($secret) && !empty($secret);
|
||||
}
|
||||
|
||||
function hasValidCredentials() {
|
||||
$secret = $_GET['secret'] || $_COOKIES['secret'];
|
||||
$cipher = hash('sha512', $secret);
|
||||
|
||||
$tokens = hasAccessTokens($cipher, $access_list_path);
|
||||
return false;
|
||||
}
|
||||
function hasAccessTokens($needle, $path) {
|
||||
$lines = file($path, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
|
||||
foreach($lines as $line) {
|
||||
if (str_starts_with(ltrim($line), '#'))
|
||||
continue;
|
||||
$values = explode(';', $line);
|
||||
if (count($values) != 3)
|
||||
continue;
|
||||
if ($needle == $values[2])
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
66
systemd/php8.2-fpm@.service
Normal file
66
systemd/php8.2-fpm@.service
Normal file
|
@ -0,0 +1,66 @@
|
|||
[Unit]
|
||||
Description=The PHP 8.2 FastCGI Process Manager for %I
|
||||
Documentation=man:php-fpm8.2(8)
|
||||
After=network.target
|
||||
Before=nginx.service
|
||||
# PartOf=php.target
|
||||
|
||||
[Service]
|
||||
Type=notify
|
||||
PIDFile=/run/php-fpm/%i/main.pid
|
||||
ExecStart=/usr/sbin/php-fpm8.2 --nodaemonize --fpm-config /etc/php/8.2/fpm/sites/%i/php.conf --php-ini /etc/php/8.2/fpm/sites/%i/php.ini --pid /run/php-fpm/%i/main.pid --force-stderr
|
||||
ExecReload=/bin/kill -USR2 $MAINPID
|
||||
|
||||
StandardOutput=journal
|
||||
StandardError=journal
|
||||
|
||||
User=www-data
|
||||
Group=www-data
|
||||
WorkingDirectory=/var/www/%i
|
||||
Environment=HOME=/var/www/%i
|
||||
Environment=TEMP=/var/lib/php-fpm/%i/tmp TMP=/var/lib/php-fpm/%i/tmp TMPDIR=/var/lib/php-fpm/%i/tmp
|
||||
|
||||
TemporaryFileSystem=/var:ro
|
||||
InaccessiblePaths=/boot /home /lost+found /media /mnt /opt /root /srv
|
||||
|
||||
# permits for /var/run
|
||||
RuntimeDirectory=php-fpm/%i
|
||||
#TemporaryFileSystem=/var/run/php-fpm:ro
|
||||
BindPaths=/var/run/php-fpm/%i
|
||||
ReadWritePaths=/var/run/php-fpm/%i
|
||||
BindPaths=/var/run/postgresql
|
||||
|
||||
#TemporaryFileSystem=/var/lib/php-fpm:ro
|
||||
BindPaths=/var/lib/php-fpm/%i
|
||||
StateDirectory=php-fpm/%i/sessions
|
||||
ReadWritePaths=/var/lib/php-fpm/%i/sessions
|
||||
StateDirectory=php-fpm/%i/tmp
|
||||
ReadWritePaths=/var/lib/php-fpm/%i/tmp
|
||||
|
||||
TemporaryFileSystem=/etc/php/8.2/fpm/sites:ro
|
||||
BindPaths=/etc/php/8.2/fpm/sites/%i
|
||||
ConfigurationDirectory=php/8.2/fpm/sites/%i
|
||||
ReadOnlyPaths=/etc/php/8.2/fpm/sites/%i
|
||||
|
||||
#TemporaryFileSystem=/var/www:ro
|
||||
BindPaths=/var/www/%i
|
||||
ReadWritePaths=/var/www/%i
|
||||
|
||||
ProtectSystem=strict
|
||||
PrivateUsers=yes
|
||||
ProtectHostname=yes
|
||||
ProtectClock=yes
|
||||
ProtectKernelTunables=yes
|
||||
ProtectKernelModules=yes
|
||||
ProtectKernelLogs=yes
|
||||
ProtectControlGroups=yes
|
||||
PrivateDevices=yes
|
||||
ProtectHome=yes
|
||||
ProtectProc=invisible
|
||||
PrivateTmp=yes
|
||||
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
|
||||
MemoryDenyWriteExecute=yes
|
||||
RestrictSUIDSGID=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
12
systemd/php8.2-fpm@.socket
Normal file
12
systemd/php8.2-fpm@.socket
Normal file
|
@ -0,0 +1,12 @@
|
|||
[Unit]
|
||||
Description=Socket for php8.2-fpm service of %I
|
||||
#BindsTo=php8.2-fpm@%i.service
|
||||
|
||||
[Socket]
|
||||
ListenStream=/run/php-fpm-%i.sock
|
||||
SocketMode=0660
|
||||
SocketUser=www-data
|
||||
SocketGroup=www-data
|
||||
|
||||
[Install]
|
||||
WantedBy=sockets.target
|
Loading…
Reference in a new issue