diff options
author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2008-08-24 19:55:44 +0000 |
---|---|---|
committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2008-08-24 19:55:44 +0000 |
commit | 2795a0f652f0160ead045830f422fae3ac08c706 (patch) | |
tree | 924268cc646f31bba5e242ac5f120769bd6e2902 /update/plugin/phpBB3 | |
parent | 0632618a9d0afe4a6a6d9785777ffae079ba56b8 (diff) | |
download | instadisc-2795a0f652f0160ead045830f422fae3ac08c706.tar.gz instadisc-2795a0f652f0160ead045830f422fae3ac08c706.tar.bz2 instadisc-2795a0f652f0160ead045830f422fae3ac08c706.zip |
Update: Added password protection to phpBB3
Closes #39
Diffstat (limited to 'update/plugin/phpBB3')
-rw-r--r-- | update/plugin/phpBB3/trunk/root/includes/functions_instadisc.php | 39 |
1 files changed, 36 insertions, 3 deletions
diff --git a/update/plugin/phpBB3/trunk/root/includes/functions_instadisc.php b/update/plugin/phpBB3/trunk/root/includes/functions_instadisc.php index 714a47b..02675ed 100644 --- a/update/plugin/phpBB3/trunk/root/includes/functions_instadisc.php +++ b/update/plugin/phpBB3/trunk/root/includes/functions_instadisc.php | |||
@@ -24,7 +24,7 @@ include($phpbb_root_path . 'includes/xmlrpc/xmlrpc.inc'); | |||
24 | function sendItem($title, $userID, $url, $fourm) | 24 | function sendItem($title, $userID, $url, $fourm) |
25 | { | 25 | { |
26 | global $config, $db, $phpbb_root_path; | 26 | global $config, $db, $phpbb_root_path; |
27 | $verID = rand(1,2147483647); | 27 | $verID = rand(1,65536); |
28 | 28 | ||
29 | $da = array('user_id' => $userID); | 29 | $da = array('user_id' => $userID); |
30 | $getuser = "SELECT * FROM " . USERS_TABLE . " WHERE " . $db->sql_build_array('SELECT', $da); | 30 | $getuser = "SELECT * FROM " . USERS_TABLE . " WHERE " . $db->sql_build_array('SELECT', $da); |
@@ -33,7 +33,7 @@ function sendItem($title, $userID, $url, $fourm) | |||
33 | $db->sql_freeresult($getuser2); | 33 | $db->sql_freeresult($getuser2); |
34 | $author = $getuser3['username']; | 34 | $author = $getuser3['username']; |
35 | 35 | ||
36 | $url = str_replace($phpbb_root_path, generate_board_url() . '/', $url); | 36 | $url = html_entity_decode(str_replace($phpbb_root_path, generate_board_url() . '/', $url)); |
37 | 37 | ||
38 | $da = array('forum_id' => $fourm); | 38 | $da = array('forum_id' => $fourm); |
39 | $getfourm = "SELECT * FROM " . FORUMS_TABLE . " WHERE " . $db->sql_build_array('SELECT', $da); | 39 | $getfourm = "SELECT * FROM " . FORUMS_TABLE . " WHERE " . $db->sql_build_array('SELECT', $da); |
@@ -42,6 +42,29 @@ function sendItem($title, $userID, $url, $fourm) | |||
42 | $db->sql_freeresult($getfourm2); | 42 | $db->sql_freeresult($getfourm2); |
43 | $semantics = array('forum' => $getfourm3['forum_name']); | 43 | $semantics = array('forum' => $getfourm3['forum_name']); |
44 | 44 | ||
45 | $encID = 0; | ||
46 | if (($config['id_encryption_key'] != '') && extension_loaded('mcrypt')) | ||
47 | { | ||
48 | $encID = rand(1,2147483647); | ||
49 | |||
50 | $cipher = 'rijndael-128'; | ||
51 | $mode = 'cbc'; | ||
52 | $key = substr(md5(substr(str_pad($config['id_encryption_key'],16,$encID),0,16)),0,16); | ||
53 | |||
54 | $td = mcrypt_module_open($cipher, "", $mode, ""); | ||
55 | |||
56 | $title = encryptString($td, $key, $title); | ||
57 | $author = encryptString($td, $key, $author); | ||
58 | $url = encryptString($td, $key, $url); | ||
59 | |||
60 | foreach ($semantics as $name => $value) | ||
61 | { | ||
62 | $semantics[$name] = encryptString($td, $key, $value); | ||
63 | } | ||
64 | |||
65 | mcrypt_module_close($td); | ||
66 | } | ||
67 | |||
45 | $client = new xmlrpc_client($config['id_central_server']); | 68 | $client = new xmlrpc_client($config['id_central_server']); |
46 | $msg = new xmlrpcmsg("InstaDisc.sendFromUpdate", array( new xmlrpcval($config['id_username'], 'string'), | 69 | $msg = new xmlrpcmsg("InstaDisc.sendFromUpdate", array( new xmlrpcval($config['id_username'], 'string'), |
47 | new xmlrpcval(md5($config['id_username'] . ':' . md5($config['id_password']) . ':' . $verID), 'string'), | 70 | new xmlrpcval(md5($config['id_username'] . ':' . md5($config['id_password']) . ':' . $verID), 'string'), |
@@ -50,7 +73,8 @@ function sendItem($title, $userID, $url, $fourm) | |||
50 | new xmlrpcval($title, 'string'), | 73 | new xmlrpcval($title, 'string'), |
51 | new xmlrpcval($author, 'string'), | 74 | new xmlrpcval($author, 'string'), |
52 | new xmlrpcval($url, 'string'), | 75 | new xmlrpcval($url, 'string'), |
53 | new xmlrpcval(serialize($semantics), 'string'))); | 76 | new xmlrpcval(serialize($semantics), 'string'), |
77 | new xmlrpcval($encID, 'int'))); | ||
54 | $resp = $client->send($msg); | 78 | $resp = $client->send($msg); |
55 | $val = $resp->value()->scalarVal(); | 79 | $val = $resp->value()->scalarVal(); |
56 | 80 | ||
@@ -60,4 +84,13 @@ function sendItem($title, $userID, $url, $fourm) | |||
60 | } | 84 | } |
61 | } | 85 | } |
62 | 86 | ||
87 | function encryptString($td, $key, $string) | ||
88 | { | ||
89 | mcrypt_generic_init($td, $key, strrev($key)); | ||
90 | $string = bin2hex(mcrypt_generic($td, $string)); | ||
91 | mcrypt_generic_deinit($td); | ||
92 | |||
93 | return $string; | ||
94 | } | ||
95 | |||
63 | ?> | 96 | ?> |