24 lines
800 B
PHP
24 lines
800 B
PHP
<?php
|
|
try {
|
|
require_once("usertable.php");
|
|
$user = $db->real_escape_string($_REQUEST['user']);
|
|
$pubkey = $db->real_escape_string($_REQUEST['pubkey']);
|
|
$pgp = gnupg_init();
|
|
if (!$pgp) error("pgp on server failed");
|
|
$verify = gnupg_import($pgp, $_REQUEST['pubkey']);
|
|
if (!$verify) error("wrong identity");
|
|
$q = $db->query("select * from user where name='$user' and pubkey='$pubkey';");
|
|
if ($q->num_rows==1) {
|
|
success("user verified");
|
|
} elseif ($q->num_rows==0) {
|
|
$q = $db->query("insert into user (name, pubkey) values ('$user', '$pubkey');");
|
|
if (!q) error("creation of user failed");
|
|
success("user created");
|
|
} else {
|
|
error("server database defect");
|
|
}
|
|
} catch (Exception $e) {
|
|
echo json_encode(array('success' => false, 'txt' => "login failed"));
|
|
}
|
|
?>
|