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,16 +1,34 @@
<?php
require_once("messagetable.php");
try {
require_once("usertable.php");
$user = $db->real_escape_string($_REQUEST['user']);
$msg = $db->real_escape_string($_REQUEST['msg']);
$q = $db->query("insert into message (user, msg) values ('$user', '$msg');");
if ($q) {
echo json_encode(true);
$pgp = gnupg_init();
if (!$pgp) {
echo json_encode(array('success' => false, 'txt' => "pgp on server failed"));
} else {
error_log("Error storing message: ".$db->error);
echo json_encode(false);
$q = $db->query("select pubkey from user where name='$user';");
if (!$q || $q->num_rows!=1) {
echo json_encode(array('success' => false, 'txt' => "user not found on server"));
} else {
$pubkey = gnupg_import($pgp, $q->fetch_row()[0]);
if (!$pubkey) {
echo json_encode(array('success' => false, 'txt' => "wrong identity"));
} else {
require_once("messagetable.php");
$q = $db->query("insert into message (user, msg) values ('$user', '$msg');");
if ($q) {
echo json_encode(array('success' => true, 'txt' => "message stored"));
} else {
error_log("Error storing message: ".$db->error);
echo json_encode(array('success' => false, 'txt' => "storing message failed"));
}
}
}
}
} catch (Exception $e) {
echo json_encode(false);
error_log("Error storing message: ".$e->message);
echo json_encode(array('success' => false, 'txt' => "storing message failed"));
}
?>