some checks on server side

This commit is contained in:
Marc Wäckerlin
2015-07-02 07:08:13 +00:00
parent 2951bc8b91
commit 829fb33818
4 changed files with 150 additions and 108 deletions

View File

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