Skip to content

Commit e98a158

Browse files
author
Till Brehm
committed
Improved input validation for settings that are acessible by the admin user.
1 parent f2fc77f commit e98a158

File tree

8 files changed

+407
-105
lines changed

8 files changed

+407
-105
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
<?php
2+
3+
/*
4+
Copyright (c) 2014, Till Brehm, projektfarm Gmbh
5+
All rights reserved.
6+
7+
Redistribution and use in source and binary forms, with or without modification,
8+
are permitted provided that the following conditions are met:
9+
10+
* Redistributions of source code must retain the above copyright notice,
11+
this list of conditions and the following disclaimer.
12+
* Redistributions in binary form must reproduce the above copyright notice,
13+
this list of conditions and the following disclaimer in the documentation
14+
and/or other materials provided with the distribution.
15+
* Neither the name of ISPConfig nor the names of its contributors
16+
may be used to endorse or promote products derived from this software without
17+
specific prior written permission.
18+
19+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22+
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
23+
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24+
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
26+
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
28+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29+
*/
30+
31+
class validate_systemuser {
32+
33+
/*
34+
Validator function to check if a given user is ok.
35+
*/
36+
function check_sysuser($field_name, $field_value, $validator) {
37+
global $app;
38+
39+
$errmsg = $validator['errmsg'];
40+
$check_names = (isset($validator['check_names']) && $validator['check_names'] == true)?true:false;
41+
42+
if($app->functions->is_allowed_user(trim(strtolower($field_value)),$check_names) == false) {
43+
return $app->tform->wordbook[$errmsg]."<br>\r\n";
44+
}
45+
}
46+
47+
/*
48+
Validator function to check if a given group is ok.
49+
*/
50+
function check_sysgroup($field_name, $field_value, $validator) {
51+
global $app;
52+
53+
$errmsg = $validator['errmsg'];
54+
$check_names = (isset($validator['check_names']) && $validator['check_names'] == true)?true:false;
55+
56+
if($app->functions->is_allowed_group(trim(strtolower($field_value)),$check_names) == false) {
57+
return $app->tform->wordbook[$errmsg]."<br>\r\n";
58+
}
59+
}
60+
61+
62+
63+
64+
}

0 commit comments

Comments
 (0)