<?php include 'door-settings.php'; if (!isset($_REQUEST['door_id'])) die('Please send door id'); $id = intval($_REQUEST['door_id']); if ($id < 1 || $id > NUM_DOORS) die('Invalid door id'); if (!isset($_REQUEST['status'])) die('Please send door status'); $status = intval($_REQUEST['status']); if ($status != 0 && $status != 1) die ('Invalid status'); $verify = mt_rand(); $pub = file_get_contents("public$id.pub"); if ($pub === false) die("No public key found for door $id"); $request_file = "request$id"; $ip = $_SERVER['HTTP_X_REAL_IP']; $time = time(); file_put_contents($request_file, "$ip\n$time\n$verify\n$status"); $ret = openssl_public_encrypt("$verify", $encrypted, $pub, OPENSSL_PKCS1_OAEP_PADDING); if (!$ret) die("Encryption error: ". openssl_error_string()); echo htmlentities(base64_encode($encrypted));