Revision 656
Added by thorn almost 17 years ago
trunk/CHANGELOG | ||
---|---|---|
14 | 14 |
01-Feb-2008 Christian Sommer |
15 | 15 |
# Added default index.php to all folders to prevent directory spoofing |
16 | 16 |
01-Feb-2008 Thomas Hornik |
17 |
# Added some missing add_slashes(), get_post_escaped(), and strip_tags() for $_POST, $_GET and $_REQUEST-data. Also for $_SERVER['PHP_SELF']. |
|
17 | 18 |
# Fixed possible XSS-vulnerability in wb/search/search.php |
18 | 19 |
31-Jan-2008 Thomas Hornik |
19 | 20 |
! Adjusted clock-red icon to match wb colors |
trunk/wb/include/captcha/captchas/text.php | ||
---|---|---|
39 | 39 |
$table = TABLE_PREFIX.'mod_captcha_control'; |
40 | 40 |
if($query = $database->query("SELECT ct_text FROM $table")) { |
41 | 41 |
$data = $query->fetchRow(); |
42 |
$text_qa = $admin->strip_slashes($data['ct_text']);
|
|
42 |
$text_qa = $data['ct_text'];
|
|
43 | 43 |
} |
44 | 44 |
$content = explode("\n", $text_qa); |
45 | 45 |
|
... | ... | |
47 | 47 |
while($s = current($content)) { |
48 | 48 |
// get question |
49 | 49 |
$s=trim(rtrim(rtrim($s,"\n"),"\r")); // remove newline |
50 |
$s=$admin->strip_slashes($s); |
|
51 | 50 |
if($s=='' OR $s{0}!='?') { |
52 | 51 |
next($content); |
53 | 52 |
continue; |
... | ... | |
66 | 65 |
// get answer |
67 | 66 |
$s=next($content); |
68 | 67 |
$s=trim(rtrim(rtrim($s,"\n"),"\r")); // remove newline |
69 |
$s=$admin->strip_slashes($s); |
|
70 | 68 |
if(isset($s{0}) && $s{0}=='!') { |
71 | 69 |
$a=substr($s,1); |
72 | 70 |
$qa[$lang][$q]=$a; |
trunk/wb/admin/groups/save.php | ||
---|---|---|
40 | 40 |
} |
41 | 41 |
|
42 | 42 |
// Gather details entered |
43 |
$group_name = $admin->get_post('group_name'); |
|
43 |
$group_name = $admin->get_post_escaped('group_name');
|
|
44 | 44 |
|
45 | 45 |
// Create a javascript back link |
46 | 46 |
$js_back = "javascript: history.go(-1);"; |
trunk/wb/admin/groups/groups.php | ||
---|---|---|
30 | 30 |
// Create new database object |
31 | 31 |
$database = new database(); |
32 | 32 |
|
33 |
if(!isset($_POST['action']) OR $_POST['action'] != "modify" AND $_POST['action'] != "delete") {
|
|
33 |
if(!isset($_POST['action']) OR ($_POST['action'] != "modify" AND $_POST['action'] != "delete")) {
|
|
34 | 34 |
header("Location: index.php"); |
35 | 35 |
exit(0); |
36 | 36 |
} |
trunk/wb/admin/pages/sections_save.php | ||
---|---|---|
106 | 106 |
} |
107 | 107 |
if($sql != '') |
108 | 108 |
$sql .= ","; |
109 |
$sql .= " publ_start = '".$publ_start."'";
|
|
110 |
$sql .= ", publ_end = '".$publ_end."'";
|
|
109 |
$sql .= " publ_start = '".$admin->add_slashes($publ_start)."'";
|
|
110 |
$sql .= ", publ_end = '".$admin->add_slashes($publ_end)."'";
|
|
111 | 111 |
} |
112 | 112 |
$query = "UPDATE ".TABLE_PREFIX."sections SET $sql WHERE section_id = '$section_id' LIMIT 1"; |
113 | 113 |
if($sql != '') { |
trunk/wb/admin/pages/settings2.php | ||
---|---|---|
41 | 41 |
|
42 | 42 |
// Get values |
43 | 43 |
$page_title = $admin->get_post_escaped('page_title'); |
44 |
$page_title = my_htmlspecialchars($page_title);
|
|
44 |
$page_title = htmlspecialchars($page_title); |
|
45 | 45 |
$menu_title = $admin->get_post_escaped('menu_title'); |
46 |
$menu_title = my_htmlspecialchars($menu_title);
|
|
47 |
$description = my_htmlspecialchars($admin->add_slashes($admin->get_post('description')));
|
|
48 |
$keywords = my_htmlspecialchars($admin->add_slashes($admin->get_post('keywords')));
|
|
49 |
$parent = $admin->get_post('parent'); |
|
50 |
$visibility = $admin->get_post('visibility'); |
|
51 |
$template = $admin->get_post('template'); |
|
52 |
$target = $admin->get_post('target'); |
|
53 |
$admin_groups = $admin->get_post('admin_groups'); |
|
54 |
$viewing_groups = $admin->get_post('viewing_groups'); |
|
55 |
$searching = $admin->get_post('searching'); |
|
56 |
$language = $admin->get_post('language'); |
|
57 |
$menu = $admin->get_post('menu'); |
|
46 |
$menu_title = htmlspecialchars($menu_title); |
|
47 |
$description = htmlspecialchars($admin->add_slashes($admin->get_post('description'))); |
|
48 |
$keywords = htmlspecialchars($admin->add_slashes($admin->get_post('keywords'))); |
|
49 |
$parent = $admin->get_post_escaped('parent');
|
|
50 |
$visibility = $admin->get_post_escaped('visibility');
|
|
51 |
$template = $admin->get_post_escaped('template');
|
|
52 |
$target = $admin->get_post_escaped('target');
|
|
53 |
$admin_groups = $admin->get_post_escaped('admin_groups');
|
|
54 |
$viewing_groups = $admin->get_post_escaped('viewing_groups');
|
|
55 |
$searching = $admin->get_post_escaped('searching');
|
|
56 |
$language = $admin->get_post_escaped('language');
|
|
57 |
$menu = $admin->get_post_escaped('menu');
|
|
58 | 58 |
|
59 | 59 |
// Validate data |
60 | 60 |
if($page_title == '' || substr($page_title,0,1)=='.') { |
trunk/wb/admin/pages/sections.php | ||
---|---|---|
70 | 70 |
} |
71 | 71 |
} elseif(isset($_POST['module']) AND $_POST['module'] != '') { |
72 | 72 |
// Get section info |
73 |
$module = $_POST['module'];
|
|
73 |
$module = $admin->add_slashes($_POST['module']);
|
|
74 | 74 |
// Include the ordering class |
75 | 75 |
require(WB_PATH.'/framework/class.order.php'); |
76 | 76 |
// Get new order |
trunk/wb/admin/users/save.php | ||
---|---|---|
40 | 40 |
} |
41 | 41 |
|
42 | 42 |
// Gather details entered |
43 |
$groups_id = (isset($_POST['groups'])) ? $groups_id = implode(",", $_POST['groups']) : '';
|
|
44 |
$active = $_POST['active'][0];
|
|
45 |
$username_fieldname = $admin->get_post('username_fieldname'); |
|
46 |
$username = strtolower($admin->get_post($username_fieldname)); |
|
43 |
$groups_id = (isset($_POST['groups'])) ? implode(",", $admin->add_slashes($_POST['groups'])) : '';
|
|
44 |
$active = $admin->add_slashes($_POST['active'][0]);
|
|
45 |
$username_fieldname = $admin->get_post_escaped('username_fieldname');
|
|
46 |
$username = strtolower($admin->get_post_escaped($username_fieldname));
|
|
47 | 47 |
$password = $admin->get_post('password'); |
48 | 48 |
$password2 = $admin->get_post('password2'); |
49 |
$display_name = $admin->get_post('display_name'); |
|
50 |
$email = $admin->get_post('email'); |
|
51 |
$home_folder = $admin->get_post('home_folder'); |
|
49 |
$display_name = $admin->get_post_escaped('display_name');
|
|
50 |
$email = $admin->get_post_escaped('email');
|
|
51 |
$home_folder = $admin->get_post_escaped('home_folder');
|
|
52 | 52 |
|
53 | 53 |
// Create a javascript back link |
54 | 54 |
$js_back = "javascript: history.go(-1);"; |
trunk/wb/admin/users/users.php | ||
---|---|---|
30 | 30 |
// Create new database object |
31 | 31 |
$database = new database(); |
32 | 32 |
|
33 |
if(!isset($_POST['action']) OR $_POST['action'] != "modify" AND $_POST['action'] != "delete") {
|
|
33 |
if(!isset($_POST['action']) OR ($_POST['action'] != "modify" AND $_POST['action'] != "delete")) {
|
|
34 | 34 |
header("Location: index.php"); |
35 | 35 |
exit(0); |
36 | 36 |
} |
trunk/wb/admin/users/add.php | ||
---|---|---|
32 | 32 |
$database = new database(); |
33 | 33 |
|
34 | 34 |
// Get details entered |
35 |
$groups_id = implode(",", $_POST['groups']); //should check permissions
|
|
36 |
$active = $_POST['active'][0];
|
|
37 |
$username_fieldname = $admin->get_post('username_fieldname'); |
|
38 |
$username = strtolower($admin->get_post($username_fieldname)); |
|
35 |
$groups_id = implode(",", $admin->add_slashes($_POST['groups'])); //should check permissions
|
|
36 |
$active = $admin->add_slashes($_POST['active'][0]);
|
|
37 |
$username_fieldname = $admin->get_post_escaped('username_fieldname');
|
|
38 |
$username = strtolower($admin->get_post_escaped($username_fieldname));
|
|
39 | 39 |
$password = $admin->get_post('password'); |
40 | 40 |
$password2 = $admin->get_post('password2'); |
41 |
$display_name = $admin->get_post('display_name'); |
|
42 |
$email = $admin->get_post('email'); |
|
43 |
$home_folder = $admin->get_post('home_folder'); |
|
41 |
$display_name = $admin->get_post_escaped('display_name');
|
|
42 |
$email = $admin->get_post_escaped('email');
|
|
43 |
$home_folder = $admin->get_post_escaped('home_folder');
|
|
44 | 44 |
$default_language = DEFAULT_LANGUAGE; |
45 | 45 |
|
46 | 46 |
// Create a javascript back link |
trunk/wb/admin/modules/uninstall.php | ||
---|---|---|
23 | 23 |
|
24 | 24 |
*/ |
25 | 25 |
|
26 |
// Setup admin object |
|
27 |
require('../../config.php'); |
|
28 |
require_once(WB_PATH.'/framework/class.admin.php'); |
|
29 |
$admin = new admin('Addons', 'modules_uninstall'); |
|
30 |
|
|
26 | 31 |
// Check if user selected module |
27 | 32 |
if(!isset($_POST['file']) OR $_POST['file'] == "") { |
28 | 33 |
header("Location: index.php"); |
29 | 34 |
exit(0); |
30 | 35 |
} else { |
31 |
$file = $_POST['file'];
|
|
36 |
$file = $admin->add_slashes($_POST['file']);
|
|
32 | 37 |
} |
33 | 38 |
|
34 | 39 |
// Extra protection |
... | ... | |
37 | 42 |
exit(0); |
38 | 43 |
} |
39 | 44 |
|
40 |
// Setup admin object |
|
41 |
require('../../config.php'); |
|
42 |
require_once(WB_PATH.'/framework/class.admin.php'); |
|
43 |
$admin = new admin('Addons', 'modules_uninstall'); |
|
44 |
|
|
45 | 45 |
// Include the WB functions file |
46 | 46 |
require_once(WB_PATH.'/framework/functions.php'); |
47 | 47 |
|
trunk/wb/admin/modules/details.php | ||
---|---|---|
27 | 27 |
require('../../config.php'); |
28 | 28 |
require_once(WB_PATH .'/framework/functions.php'); |
29 | 29 |
|
30 |
// Print admin header |
|
31 |
require_once(WB_PATH.'/framework/class.admin.php'); |
|
32 |
$admin = new admin('Addons', 'modules_view'); |
|
33 |
|
|
30 | 34 |
// Get module name |
31 | 35 |
if(!isset($_POST['file']) OR $_POST['file'] == "") { |
32 | 36 |
header("Location: index.php"); |
33 | 37 |
exit(0); |
34 | 38 |
} else { |
35 |
$file = $_POST['file'];
|
|
39 |
$file = $admin->add_slashes($_POST['file']);
|
|
36 | 40 |
} |
37 | 41 |
|
38 | 42 |
// Check if the module exists |
... | ... | |
41 | 45 |
exit(0); |
42 | 46 |
} |
43 | 47 |
|
44 |
// Print admin header |
|
45 |
require_once(WB_PATH.'/framework/class.admin.php'); |
|
46 |
$admin = new admin('Addons', 'modules_view'); |
|
47 |
|
|
48 | 48 |
// Setup module object |
49 | 49 |
$template = new Template(ADMIN_PATH.'/modules'); |
50 | 50 |
$template->set_file('page', 'details.html'); |
trunk/wb/admin/admintools/tool.php | ||
---|---|---|
35 | 35 |
} |
36 | 36 |
|
37 | 37 |
// Check if tool is installed |
38 |
$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'module' AND function = 'tool' AND directory = '".$_GET['tool']."'");
|
|
38 |
$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'module' AND function = 'tool' AND directory = '".$admin->add_slashes($_GET['tool'])."'");
|
|
39 | 39 |
if($result->numRows() == 0) { |
40 | 40 |
header("Location: index.php"); |
41 | 41 |
exit(0); |
trunk/wb/account/details.php | ||
---|---|---|
30 | 30 |
|
31 | 31 |
// Get entered values |
32 | 32 |
$display_name = $wb->add_slashes(strip_tags($wb->get_post('display_name'))); |
33 |
$language = $wb->get_post('language'); |
|
34 |
$timezone = $wb->get_post('timezone')*60*60; |
|
35 |
$date_format = $wb->get_post('date_format'); |
|
36 |
$time_format = $wb->get_post('time_format'); |
|
33 |
$language = $wb->get_post_escaped('language');
|
|
34 |
$timezone = $wb->get_post_escaped('timezone')*60*60;
|
|
35 |
$date_format = $wb->get_post_escaped('date_format');
|
|
36 |
$time_format = $wb->get_post_escaped('time_format');
|
|
37 | 37 |
|
38 | 38 |
// Create a javascript back link |
39 | 39 |
$js_back = "javascript: history.go(-1);"; |
trunk/wb/account/signup2.php | ||
---|---|---|
37 | 37 |
// Get details entered |
38 | 38 |
$group_id = FRONTEND_SIGNUP; |
39 | 39 |
$active = 1; |
40 |
$username = strtolower($wb->add_slashes(strip_tags($wb->get_post('username'))));
|
|
41 |
$display_name = $wb->add_slashes(strip_tags($wb->get_post('display_name')));
|
|
40 |
$username = strtolower(strip_tags($wb->get_post_escaped('username')));
|
|
41 |
$display_name = strip_tags($wb->get_post_escaped('display_name'));
|
|
42 | 42 |
$email = $wb->get_post('email'); |
43 | 43 |
|
44 | 44 |
// Create a javascript back link |
... | ... | |
94 | 94 |
} |
95 | 95 |
|
96 | 96 |
// Check if the email already exists |
97 |
$results = $database->query("SELECT user_id FROM ".TABLE_PREFIX."users WHERE email = '$email'"); |
|
97 |
$results = $database->query("SELECT user_id FROM ".TABLE_PREFIX."users WHERE email = '$wb->add_slashes($email'");
|
|
98 | 98 |
if($results->numRows() > 0) { |
99 | 99 |
if(isset($MESSAGE['USERS']['EMAIL_TAKEN'])) { |
100 | 100 |
$wb->print_error($MESSAGE['USERS']['EMAIL_TAKEN'], $js_back, false); |
trunk/wb/framework/class.admin.php | ||
---|---|---|
101 | 101 |
$view_url = WB_URL; |
102 | 102 |
if(isset($_GET['page_id'])) { |
103 | 103 |
// extract page link from the database |
104 |
$result = @$database->query("SELECT link FROM " .TABLE_PREFIX ."pages WHERE page_id = '" .(int) $_GET['page_id'] ."'");
|
|
104 |
$result = @$database->query("SELECT link FROM " .TABLE_PREFIX ."pages WHERE page_id = '" .(int) addslashes($_GET['page_id']) ."'");
|
|
105 | 105 |
$row = @$result->fetchRow(); |
106 | 106 |
if($row) $view_url .= PAGES_DIRECTORY .$row['link']. PAGE_EXTENSION; |
107 | 107 |
} |
... | ... | |
311 | 311 |
if(isset($_GET['tool'])) { |
312 | 312 |
// check if displayed page contains a installed admin tool |
313 | 313 |
$result = $database->query("SELECT * FROM " .TABLE_PREFIX ."addons |
314 |
WHERE type = 'module' AND function = 'tool' AND directory = '".$_GET['tool']."'");
|
|
314 |
WHERE type = 'module' AND function = 'tool' AND directory = '".addslashes($_GET['tool'])."'");
|
|
315 | 315 |
|
316 | 316 |
if($result->numRows()) { |
317 | 317 |
// check if admin tool directory contains a backend.js or backend.css file to include |
... | ... | |
323 | 323 |
} |
324 | 324 |
} elseif(isset($_GET['page_id'])) { |
325 | 325 |
// check if displayed page in the backend contains a page module |
326 |
$page_id = (int) $_GET['page_id'];
|
|
326 |
$page_id = (int) addslashes($_GET['page_id']);
|
|
327 | 327 |
|
328 | 328 |
// gather information for all models embedded on actual page |
329 | 329 |
$query_modules = $database->query("SELECT module FROM " .TABLE_PREFIX ."sections |
trunk/wb/framework/class.wb.php | ||
---|---|---|
137 | 137 |
} |
138 | 138 |
|
139 | 139 |
// Ditto for stripslashes |
140 |
// Attn: this is _not_ the counterpart to $this->add_slashes() ! |
|
141 |
// Use stripslashes() to undo a preliminarily done $this->add_slashes() |
|
142 |
// The purpose of $this->strip_slashes() is to undo the effects of magic_quotes_gpc==On |
|
140 | 143 |
function strip_slashes($input) { |
141 | 144 |
if ( !get_magic_quotes_gpc() || ( !is_string($input) ) ) { |
142 | 145 |
return $input; |
trunk/wb/search/search.php | ||
---|---|---|
127 | 127 |
$string = $wb->strip_slashes($string); |
128 | 128 |
$string = htmlspecialchars($string); |
129 | 129 |
$search_display_string = $string; |
130 |
// do really addslashes() |
|
131 |
$string = $wb->add_slashes($string); |
|
130 |
$string = addslashes($string); |
|
132 | 131 |
// remove some bad chars |
133 | 132 |
$string = preg_replace("/(^|\s+)([.])+(?=\s+|$)/", "", $string); |
134 | 133 |
// mySQL needs four backslashes to match one in LIKE comparisons) |
trunk/wb/search/index.php | ||
---|---|---|
51 | 51 |
unset($template); |
52 | 52 |
|
53 | 53 |
//Get the referrer page ID if it exists |
54 |
if(isset($_REQUEST['referrer']) && intval($_REQUEST['referrer']) > 0) { |
|
54 |
if(isset($_REQUEST['referrer']) && is_numeric($_REQUEST['referrer']) && intval($_REQUEST['referrer']) > 0) {
|
|
55 | 55 |
define('REFERRER_ID', intval($_REQUEST['referrer'])); |
56 | 56 |
} else { |
57 | 57 |
define('REFERRER_ID', 0); |
trunk/wb/modules/wrapper/save.php | ||
---|---|---|
31 | 31 |
|
32 | 32 |
// Update the mod_wrapper table with the contents |
33 | 33 |
if(isset($_POST['url'])) { |
34 |
$url = $admin->add_slashes($_POST['url']);
|
|
34 |
$url = $admin->add_slashes(strip_tags($_POST['url']));
|
|
35 | 35 |
$height = $_POST['height']; |
36 | 36 |
if(!is_numeric($height)) { |
37 | 37 |
$height = 400; |
38 | 38 |
} |
39 |
$database = new database(); |
|
40 | 39 |
$query = "UPDATE ".TABLE_PREFIX."mod_wrapper SET url = '$url', height = '$height' WHERE section_id = '$section_id'"; |
41 | 40 |
$database->query($query); |
42 | 41 |
} |
trunk/wb/modules/menu_link/save.php | ||
---|---|---|
31 | 31 |
|
32 | 32 |
// Update id, anchor and target |
33 | 33 |
if(isset($_POST['page_link'])) { |
34 |
$foreign_page_id = $_POST['page_link'];
|
|
35 |
$page_target = $_POST['page_target'];
|
|
36 |
$url_target = $_POST['target'];
|
|
34 |
$foreign_page_id = $admin->add_slashes($_POST['page_link']);
|
|
35 |
$page_target = $admin->add_slashes($_POST['page_target']);
|
|
36 |
$url_target = $admin->add_slashes($_POST['target']);
|
|
37 | 37 |
|
38 | 38 |
$table_pages = TABLE_PREFIX.'pages'; |
39 | 39 |
$table_mod = TABLE_PREFIX.'mod_menu_link'; |
trunk/wb/modules/captcha_control/tool.php | ||
---|---|---|
52 | 52 |
"); |
53 | 53 |
|
54 | 54 |
// save text-captchas |
55 |
if($_POST['captcha_type'] == 'text') { // ct_text
|
|
56 |
$text_qa=$_POST['text_qa'];
|
|
55 |
if($captcha_type == 'text') { // ct_text
|
|
56 |
$text_qa=$admin->add_slashes($_POST['text_qa']);
|
|
57 | 57 |
if(strpos($text_qa, '### example ###') === FALSE) { |
58 |
$text_qa=$admin->add_slashes($text_qa); |
|
59 | 58 |
$database->query("UPDATE $table SET ct_text = '$text_qa'"); |
60 | 59 |
} |
61 | 60 |
} |
... | ... | |
76 | 75 |
$text_qa=''; |
77 | 76 |
if($query = $database->query("SELECT ct_text FROM $table")) { |
78 | 77 |
$data = $query->fetchRow(); |
79 |
$text_qa = $admin->strip_slashes($data['ct_text']);
|
|
78 |
$text_qa = $data['ct_text'];
|
|
80 | 79 |
} |
81 | 80 |
if($text_qa == '') |
82 | 81 |
$text_qa = $MOD_CAPTCHA_CONTROL['CAPTCHA_TEXT_DESC']; |
... | ... | |
125 | 124 |
$data = $query->fetchRow(); |
126 | 125 |
$enabled_captcha = $data['enabled_captcha']; |
127 | 126 |
$enabled_asp = $data['enabled_asp']; |
128 |
$captcha_type = $admin->strip_slashes($data['captcha_type']);
|
|
127 |
$captcha_type = $data['captcha_type'];
|
|
129 | 128 |
} else { |
130 | 129 |
// something went wrong, use dummy value |
131 | 130 |
$enabled_captcha = '1'; |
trunk/wb/modules/form/edit_css.php | ||
---|---|---|
93 | 93 |
} |
94 | 94 |
|
95 | 95 |
?> |
96 |
<form name="edit_module_file" action="<?php echo $_SERVER['PHP_SELF'] .'?action=save';?>" method="post" style="margin: 0;">
|
|
96 |
<form name="edit_module_file" action="<?php echo htmlspecialchars(strip_tags($_SERVER['PHP_SELF'])) .'?action=save';?>" method="post" style="margin: 0;">
|
|
97 | 97 |
<input type="hidden" name="section_id" value="<?php echo $section_id; ?>"> |
98 | 98 |
<input type="hidden" name="page_id" value="<?php echo $page_id; ?>"> |
99 | 99 |
<input type="hidden" name="css_codepress" value="" /> |
trunk/wb/modules/form/save_field.php | ||
---|---|---|
36 | 36 |
exit(0); |
37 | 37 |
} else { |
38 | 38 |
$field_id = $_POST['field_id']; |
39 |
$field_id = $field_id; |
|
40 | 39 |
} |
41 | 40 |
|
42 | 41 |
// Include WB admin wrapper script |
... | ... | |
48 | 47 |
$admin->print_error($MESSAGE['GENERIC']['FILL_IN_ALL'], WB_URL.'/modules/form/modify_field.php?page_id='.$page_id.'§ion_id='.$section_id.'&field_id='.$field_id); |
49 | 48 |
} else { |
50 | 49 |
$title = $admin->add_slashes($admin->get_post('title')); |
51 |
$type = $admin->get_post('type');
|
|
52 |
$required = $admin->get_post('required');
|
|
50 |
$type = $admin->add_slashes($admin->get_post('type'));
|
|
51 |
$required = $admin->add_slashes($admin->get_post('required'));
|
|
53 | 52 |
} |
54 | 53 |
$value = ''; |
55 | 54 |
|
trunk/wb/modules/form/view.php | ||
---|---|---|
124 | 124 |
|
125 | 125 |
// Add form starter code |
126 | 126 |
?> |
127 |
<form name="form" onsubmit="return formCheck(this);" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
|
|
127 |
<form name="form" onsubmit="return formCheck(this);" action="<?php echo htmlspecialchars(strip_tags($_SERVER['PHP_SELF'])); ?>" method="post">
|
|
128 | 128 |
<input type="hidden" name="submission_id" value="<?php echo $_SESSION['form_submission_id']; ?>" /> |
129 | 129 |
<?php |
130 | 130 |
|
... | ... | |
338 | 338 |
$email_from = $fetch_settings['email_from']; |
339 | 339 |
if(substr($email_from, 0, 5) == 'field') { |
340 | 340 |
// Set the email from field to what the user entered in the specified field |
341 |
$email_from = $wb->add_slashes($_POST[$email_from]);
|
|
341 |
$email_from = htmlspecialchars($wb->add_slashes($_POST[$email_from]));
|
|
342 | 342 |
} |
343 | 343 |
$email_fromname = $fetch_settings['email_fromname']; |
344 | 344 |
$email_subject = $fetch_settings['email_subject']; |
... | ... | |
346 | 346 |
$success_email_to = $fetch_settings['success_email_to']; |
347 | 347 |
if(substr($success_email_to, 0, 5) == 'field') { |
348 | 348 |
// Set the success_email to field to what the user entered in the specified field |
349 |
$success_email_to = $wb->add_slashes($_POST[$success_email_to]);
|
|
349 |
$success_email_to = htmlspecialchars($wb->add_slashes($_POST[$success_email_to]));
|
|
350 | 350 |
} |
351 | 351 |
$success_email_from = $fetch_settings['success_email_from']; |
352 | 352 |
$success_email_fromname = $fetch_settings['success_email_fromname']; |
... | ... | |
384 | 384 |
// Add to message body |
385 | 385 |
if($field['type'] != '') { |
386 | 386 |
if(!empty($_POST['field'.$field['field_id']])) { |
387 |
if(isset($captcha_error)) $_SESSION['field'.$field['field_id']] = $_POST['field'.$field['field_id']];
|
|
387 |
if(isset($captcha_error)) $_SESSION['field'.$field['field_id']] = htmlspecialchars($_POST['field'.$field['field_id']]);
|
|
388 | 388 |
if($field['type'] == 'email' AND $admin->validate_email($_POST['field'.$field['field_id']]) == false) { |
389 | 389 |
$email_error = $MESSAGE['USERS']['INVALID_EMAIL']; |
390 | 390 |
} |
trunk/wb/modules/form/save_settings.php | ||
---|---|---|
41 | 41 |
$field_loop = $admin->add_slashes($_POST['field_loop']); |
42 | 42 |
$footer = $admin->add_slashes($_POST['footer']); |
43 | 43 |
$email_to = $admin->add_slashes($_POST['email_to']); |
44 |
$use_captcha = $_POST['use_captcha'];
|
|
44 |
$use_captcha = $admin->add_slashes($_POST['use_captcha']);
|
|
45 | 45 |
if($_POST['email_from_field'] == '') { |
46 | 46 |
$email_from = $admin->add_slashes($_POST['email_from']); |
47 | 47 |
} else { |
... | ... | |
49 | 49 |
} |
50 | 50 |
$email_fromname = $admin->add_slashes($_POST['email_fromname']); |
51 | 51 |
$email_subject = $admin->add_slashes($_POST['email_subject']); |
52 |
$success_page = $_POST['success_page'];
|
|
52 |
$success_page = $admin->add_slashes($_POST['success_page']);
|
|
53 | 53 |
$success_email_to = $admin->add_slashes($_POST['success_email_to']); |
54 | 54 |
$success_email_from = $admin->add_slashes($_POST['success_email_from']); |
55 | 55 |
$success_email_fromname = $admin->add_slashes($_POST['success_email_fromname']); |
trunk/wb/modules/code/save.php | ||
---|---|---|
33 | 33 |
if(isset($_POST['content'])) { |
34 | 34 |
$tags = array('<?php', '?>' , '<?'); |
35 | 35 |
$content = $admin->add_slashes(str_replace($tags, '', $_POST['content'])); |
36 |
$database = new database(); |
|
37 | 36 |
$query = "UPDATE ".TABLE_PREFIX."mod_code SET content = '$content' WHERE section_id = '$section_id'"; |
38 | 37 |
$database->query($query); |
39 | 38 |
} |
trunk/wb/modules/news/edit_css.php | ||
---|---|---|
93 | 93 |
} |
94 | 94 |
|
95 | 95 |
?> |
96 |
<form name="edit_module_file" action="<?php echo $_SERVER['PHP_SELF'] .'?action=save';?>" method="post" style="margin: 0;">
|
|
96 |
<form name="edit_module_file" action="<?php echo htmlspecialchars(strip_tags($_SERVER['PHP_SELF'])) .'?action=save';?>" method="post" style="margin: 0;">
|
|
97 | 97 |
<input type="hidden" name="section_id" value="<?php echo $section_id; ?>"> |
98 | 98 |
<input type="hidden" name="page_id" value="<?php echo $page_id; ?>"> |
99 | 99 |
<input type="hidden" name="css_codepress" value="" /> |
trunk/wb/modules/news/save_group.php | ||
---|---|---|
44 | 44 |
if($admin->get_post('title') == '') { |
45 | 45 |
$admin->print_error($MESSAGE['GENERIC']['FILL_IN_ALL'], WB_URL.'/modules/news/modify_group.php?page_id='.$page_id.'§ion_id='.$section_id.'&group_id='.$group_id); |
46 | 46 |
} else { |
47 |
$title = $admin->add_slashes($admin->get_post('title'));
|
|
48 |
$active = $admin->get_post('active'); |
|
47 |
$title = $admin->get_post_escaped('title');
|
|
48 |
$active = $admin->get_post_escaped('active');
|
|
49 | 49 |
} |
50 | 50 |
|
51 | 51 |
// Update row |
trunk/wb/modules/news/view.php | ||
---|---|---|
167 | 167 |
if($query_extra != '') { |
168 | 168 |
?> |
169 | 169 |
<div class="selected_group_title"> |
170 |
<?php echo '<a href="'.$_SERVER['PHP_SELF'].'">'.PAGE_TITLE.'</a> >> '.$groups[$_GET['g']]['title']; ?>
|
|
170 |
<?php echo '<a href="'.htmlspecialchars(strip_tags($_SERVER['PHP_SELF'])).'">'.PAGE_TITLE.'</a> >> '.$groups[$_GET['g']]['title']; ?>
|
|
171 | 171 |
</div> |
172 | 172 |
<?php |
173 | 173 |
} |
trunk/wb/modules/news/save_settings.php | ||
---|---|---|
41 | 41 |
$comments_loop = $admin->add_slashes(str_replace($friendly, $raw, $_POST['comments_loop'])); |
42 | 42 |
$comments_footer = $admin->add_slashes(str_replace($friendly, $raw, $_POST['comments_footer'])); |
43 | 43 |
$comments_page = $admin->add_slashes(str_replace($friendly, $raw, $_POST['comments_page'])); |
44 |
$commenting = $_POST['commenting'];
|
|
45 |
$posts_per_page = $_POST['posts_per_page'];
|
|
46 |
$use_captcha = $_POST['use_captcha'];
|
|
44 |
$commenting = $admin->add_slashes($_POST['commenting']);
|
|
45 |
$posts_per_page = $admin->add_slashes($_POST['posts_per_page']);
|
|
46 |
$use_captcha = $admin->add_slashes($_POST['use_captcha']);
|
|
47 | 47 |
if(extension_loaded('gd') AND function_exists('imageCreateFromJpeg')) { |
48 | 48 |
$resize = $_POST['resize']; |
49 | 49 |
} else { |
trunk/wb/modules/news/save_post.php | ||
---|---|---|
44 | 44 |
if($admin->get_post('title') == '' AND $admin->get_post('url') == '') { |
45 | 45 |
$admin->print_error($MESSAGE['GENERIC']['FILL_IN_ALL'], WB_URL.'/modules/news/modify_post.php?page_id='.$page_id.'§ion_id='.$section_id.'&post_id='.$id); |
46 | 46 |
} else { |
47 |
$title = $admin->add_slashes($admin->get_post('title'));
|
|
48 |
$short = $admin->add_slashes($admin->get_post('short'));
|
|
49 |
$long = $admin->add_slashes($admin->get_post('long'));
|
|
50 |
$commenting = $admin->get_post('commenting'); |
|
51 |
$active = $admin->get_post('active'); |
|
52 |
$old_link = $admin->get_post('link'); |
|
53 |
$group_id = $admin->get_post('group'); |
|
47 |
$title = $admin->get_post_escaped('title');
|
|
48 |
$short = $admin->get_post_escaped('short');
|
|
49 |
$long = $admin->get_post_escaped('long');
|
|
50 |
$commenting = $admin->get_post_escaped('commenting');
|
|
51 |
$active = $admin->get_post_escaped('active');
|
|
52 |
$old_link = $admin->get_post_escaped('link');
|
|
53 |
$group_id = $admin->get_post_escaped('group');
|
|
54 | 54 |
} |
55 | 55 |
|
56 | 56 |
// Get page link URL |
... | ... | |
103 | 103 |
} |
104 | 104 |
|
105 | 105 |
// get publisedwhen and publisheduntil |
106 |
$publishedwhen = jscalendar_to_timestamp($admin->get_post('publishdate')); |
|
106 |
$publishedwhen = jscalendar_to_timestamp($admin->get_post_escaped('publishdate'));
|
|
107 | 107 |
if($publishedwhen == '' || $publishedwhen < 1) |
108 | 108 |
$publishedwhen=0; |
109 |
$publisheduntil = jscalendar_to_timestamp($admin->get_post('enddate'), $publishedwhen); |
|
109 |
$publisheduntil = jscalendar_to_timestamp($admin->get_post_escaped('enddate'), $publishedwhen);
|
|
110 | 110 |
if($publisheduntil == '' || $publisheduntil < 1) |
111 | 111 |
$publisheduntil=0; |
112 | 112 |
|
trunk/wb/modules/news/save_comment.php | ||
---|---|---|
26 | 26 |
require('../../config.php'); |
27 | 27 |
|
28 | 28 |
// Get id |
29 |
if(!isset($_POST['comment_id']) OR !is_numeric($_POST['comment_id'])) { |
|
29 |
if(!isset($_POST['comment_id']) OR !is_numeric($_POST['comment_id']) OR !isset($_POST['post_id']) OR !is_numeric($_POST['post_id'])) {
|
|
30 | 30 |
header("Location: ".ADMIN_URL."/pages/index.php"); |
31 | 31 |
exit(0); |
32 | 32 |
} else { |
... | ... | |
41 | 41 |
if($admin->get_post('title') == '' AND $admin->get_post('comment') == '') { |
42 | 42 |
$admin->print_error($MESSAGE['GENERIC']['FILL_IN_ALL'], WB_URL.'/modules/news/modify_comment.php?page_id='.$page_id.'§ion_id='.$section_id.'comment_id='.$id); |
43 | 43 |
} else { |
44 |
$title = $admin->add_slashes($admin->get_post('title'));
|
|
45 |
$comment = $admin->add_slashes($admin->get_post('comment'));
|
|
44 |
$title = strip_tags($admin->get_post_escaped('title'));
|
|
45 |
$comment = strip_tags($admin->get_post_escaped('comment'));
|
|
46 | 46 |
$post_id = $admin->get_post('post_id'); |
47 | 47 |
} |
48 | 48 |
|
trunk/wb/modules/news/submit_comment.php | ||
---|---|---|
30 | 30 |
$wb = new wb; |
31 | 31 |
|
32 | 32 |
// Check if we should show the form or add a comment |
33 |
if(is_numeric($_GET['page_id']) AND is_numeric($_GET['section_id']) AND isset($_GET['post_id']) AND is_numeric($_GET['post_id'])
|
|
34 |
AND ( ENABLED_ASP AND isset($_POST['c0mment_'.date('W')]) AND $_POST['c0mment_'.date('W')] != '') |
|
35 |
OR (!ENABLED_ASP AND isset($_POST['comment']) AND $_POST['comment'] != '')
|
|
33 |
if(isset($_GET['page_id']) AND is_numeric($_GET['page_id']) AND isset($_GET['section_id']) AND is_numeric($_GET['section_id']) AND isset($_GET['post_id']) AND is_numeric($_GET['post_id'])
|
|
34 |
AND (( ENABLED_ASP AND isset($_POST['c0mment_'.date('W')]) AND $_POST['c0mment_'.date('W')] != '')
|
|
35 |
OR (!ENABLED_ASP AND isset($_POST['comment']) AND $_POST['comment'] != ''))
|
|
36 | 36 |
) { |
37 | 37 |
|
38 | 38 |
if(ENABLED_ASP) |
39 | 39 |
$comment = $_POST['c0mment_'.date('W')]; |
40 | 40 |
else |
41 | 41 |
$comment = $_POST['comment']; |
42 |
|
|
42 |
$comment = $wb->add_slashes(strip_tags($comment)); |
|
43 |
$title = $wb->add_slashes(strip_tags($_POST['title'])); |
|
44 |
$page_id = $_GET['page_id']; |
|
45 |
$section_id = $_GET['section_id']; |
|
46 |
$post_id = $_GET['post_id']; |
|
47 |
|
|
43 | 48 |
// Check captcha |
44 |
$query_settings = $database->query("SELECT use_captcha FROM ".TABLE_PREFIX."mod_news_settings WHERE section_id = '".$_GET['section_id']."'");
|
|
49 |
$query_settings = $database->query("SELECT use_captcha FROM ".TABLE_PREFIX."mod_news_settings WHERE section_id = '$section_id'");
|
|
45 | 50 |
if($query_settings->numRows() == 0) { |
46 | 51 |
exit(header("Location: ".WB_URL.PAGES_DIRECTORY."")); |
47 | 52 |
} else { |
... | ... | |
67 | 72 |
// Check for a mismatch |
68 | 73 |
if(!isset($_POST['captcha']) OR !isset($_SESSION['captcha']) OR $_POST['captcha'] != $_SESSION['captcha']) { |
69 | 74 |
$_SESSION['captcha_error'] = $MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA']; |
70 |
$_SESSION['comment_title'] = $_POST['title'];
|
|
75 |
$_SESSION['comment_title'] = $title;
|
|
71 | 76 |
$_SESSION['comment_body'] = $comment; |
72 |
exit(header('Location: '.WB_URL."/modules/news/comment.php?id={$_GET['post_id']}&sid={$_GET['section_id']}"));
|
|
77 |
exit(header('Location: '.WB_URL."/modules/news/comment.php?id=$post_id&sid=$section_id"));
|
|
73 | 78 |
} |
74 | 79 |
} else { |
75 | 80 |
$_SESSION['captcha_error'] = $MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA']; |
76 |
$_SESSION['comment_title'] = $_POST['title'];
|
|
81 |
$_SESSION['comment_title'] = $title;
|
|
77 | 82 |
$_SESSION['comment_body'] = $comment; |
78 |
exit(header('Location: '.WB_URL."/modules/news/comment.php?id={$_GET['post_id']}&sid={$_GET['section_id']}"));
|
|
83 |
exit(header('Location: '.WB_URL."/modules/news/comment.php?id=$post_id&sid=$section_id"));
|
|
79 | 84 |
} |
80 | 85 |
} |
81 | 86 |
} |
... | ... | |
87 | 92 |
} |
88 | 93 |
|
89 | 94 |
// Insert the comment into db |
90 |
$page_id = $_GET['page_id']; |
|
91 |
$section_id = $_GET['section_id']; |
|
92 |
$post_id = $_GET['post_id']; |
|
93 |
$title = $wb->add_slashes(strip_tags($_POST['title'])); |
|
94 |
$comment = $wb->add_slashes(strip_tags($comment)); |
|
95 | 95 |
$commented_when = mktime(); |
96 | 96 |
if($wb->is_authenticated() == true) { |
97 | 97 |
$commented_by = $wb->get_user_id(); |
... | ... | |
104 | 104 |
$page = $query_page->fetchRow(); |
105 | 105 |
header('Location: '.$wb->page_link($page['link']).'?id='.$post_id); |
106 | 106 |
} else { |
107 |
header('Location: '.WB_URL."/modules/news/comment.php?id={$_GET['post_id']}&sid={$_GET['section_id']}"); |
|
107 |
if(isset($_GET['post_id']) AND is_numeric($_GET['post_id']) AND isset($_GET['section_id']) AND is_numeric($_GET['section_id'])) |
|
108 |
header('Location: '.WB_URL."/modules/news/comment.php?id={$_GET['post_id']}&sid={$_GET['section_id']}"); |
|
109 |
else |
|
110 |
exit(header("Location: ".WB_URL.PAGES_DIRECTORY."")); |
|
108 | 111 |
} |
109 | 112 |
|
110 | 113 |
?> |
trunk/wb/modules/admin.php | ||
---|---|---|
39 | 39 |
} |
40 | 40 |
|
41 | 41 |
// Get page id |
42 |
if(!isset($_GET['page_id']) OR !is_numeric($_GET['page_id'])) { |
|
43 |
if(!isset($_POST['page_id']) OR !is_numeric($_POST['page_id'])) { |
|
44 |
if(!isset($_GET['page_id']) OR !is_numeric($_GET['page_id'])) { |
|
45 |
if(!isset($_POST['page_id']) OR !is_numeric($_POST['page_id'])) { |
|
46 |
header("Location: index.php"); |
|
47 |
exit(0); |
|
48 |
} else { |
|
49 |
$page_id = $_POST['page_id']; |
|
50 |
} |
|
51 |
} else { |
|
52 |
$page_id = $_GET['page_id']; |
|
53 |
} |
|
54 |
} else { |
|
55 |
$page_id = $_POST['page_id']; |
|
56 |
} |
|
42 |
if(isset($_GET['page_id']) AND is_numeric($_GET['page_id'])) { |
|
43 |
$page_id = $_GET['page_id']; |
|
44 |
} elseif(isset($_POST['page_id']) AND is_numeric($_POST['page_id'])) { |
|
45 |
$page_id = $_POST['page_id']; |
|
57 | 46 |
} else { |
58 |
$page_id = $_GET['page_id']; |
|
47 |
header("Location: index.php"); |
|
48 |
exit(0); |
|
59 | 49 |
} |
60 | 50 |
|
61 | 51 |
// Get section id if there is one |
Also available in: Unified diff
Added some missing add_slashes(), get_post_escaped(), and strip_tags() for $_POST, $_GET and $_REQUEST-data. Also for $_SERVER['PHP_SELF'].