455dfd8388cec506f4e5bf3b8fccd8169482792b
bernd input-filtering

bernd authored 17 years ago

1) <?php
Bernd Wurst Added license tags for CC0,...

Bernd Wurst authored 12 years ago

2) /*
3) This file belongs to the Webinterface of schokokeks.org Hosting
4) 
Hanno Böck Change license from CC0 to...

Hanno Böck authored 2 years ago

5) Written by schokokeks.org Hosting, namely
Bernd Wurst Added license tags for CC0,...

Bernd Wurst authored 12 years ago

6)   Bernd Wurst <bernd@schokokeks.org>
7)   Hanno Böck <hanno@schokokeks.org>
8) 
Hanno Böck Change license from CC0 to...

Hanno Böck authored 2 years ago

9) This code is published under a 0BSD license.
Bernd Wurst Added license tags for CC0,...

Bernd Wurst authored 12 years ago

10) 
11) Nevertheless, in case you use a significant part of this code, we ask (but not require, see the license) that you keep the authors' names in place and return your changes to the public. We would be especially happy if you tell us what you're going to do with this code.
12) */
bernd input-filtering

bernd authored 17 years ago

13) 
bernd Umfangreiche Code-Aufräumar...

bernd authored 17 years ago

14) require_once('inc/error.php');
Hanno Böck move crypt password hash ve...

Hanno Böck authored 11 months ago

15) require_once('inc/base.php');
Hanno Böck replace cracklib with zxcvbn

Hanno Böck authored 8 years ago

16) require_once('vendor/autoload.php');
bernd Umfangreiche Code-Aufräumar...

bernd authored 17 years ago

17) 
Hanno Böck move crypt password hash ve...

Hanno Böck authored 11 months ago

18) function gen_pw_hash($password)
19) {
20)     $pwhash = crypt($password, '$6$' . random_string(6));
21)     if (strlen($pwhash) < 13) {
22)         /* returns a string shorter than 13 chars on failure */
23)         system_failure("Failed to calculate password hash!");
24)     }
25)     return $pwhash;
26) }
27) 
Hanno Böck Codingstyle PSR12 + array s...

Hanno Böck authored 3 years ago

28) function strong_password($password, $user = [])
bernd * Passwörter mit cracklib p...

bernd authored 17 years ago

29) {
Bernd Wurst support online check for pa...

Bernd Wurst authored 5 years ago

30)     $pwcheck = config('pwcheck');
31)     $result = null;
32)     if ($pwcheck) {
33)         DEBUG($pwcheck);
Bernd Wurst use POST for password checker

Bernd Wurst authored 5 years ago

34)         $req = curl_init($pwcheck);
Bernd Wurst support online check for pa...

Bernd Wurst authored 5 years ago

35)         curl_setopt($req, CURLOPT_RETURNTRANSFER, 1);
36)         curl_setopt($req, CURLOPT_SSL_VERIFYPEER, 1);
37)         curl_setopt($req, CURLOPT_SSL_VERIFYSTATUS, 1);
38)         curl_setopt($req, CURLOPT_CONNECTTIMEOUT, 5);
39)         curl_setopt($req, CURLOPT_TIMEOUT, 5);
40)         curl_setopt($req, CURLOPT_FOLLOWLOCATION, 0);
Bernd Wurst use POST for password checker

Bernd Wurst authored 5 years ago

41)         curl_setopt($req, CURLOPT_POST, 1);
Hanno Böck Spaces between string conca...

Hanno Böck authored 1 year ago

42)         curl_setopt($req, CURLOPT_POSTFIELDS, "password=" . urlencode($password));
Bernd Wurst support online check for pa...

Bernd Wurst authored 5 years ago

43)         $result = chop(curl_exec($req));
44)         DEBUG($result);
45)     }
46)     if ($result === 'good') {
47)         return true;
48)     } elseif ($result === 'bad') {
Bernd Wurst better error message for we...

Bernd Wurst authored 5 years ago

49)         return "Unsere Überprüfung hat ergeben, dass dieses Passwort in bisher veröffentlichten Passwortlisten enthalten ist. Es wird daher nicht akzeptiert.";
Bernd Wurst support online check for pa...

Bernd Wurst authored 5 years ago

50)     }
Bernd Wurst use Zxcvbn as fallback in e...

Bernd Wurst authored 5 years ago

51)     // Kein Online-Check eingerichtet oder der request war nicht erfolgreich
52)     DEBUG('using Zxcvbn for password check!');
53)     $passwordchecker = new ZxcvbnPhp\Zxcvbn();
Bernd Wurst PHP 8.0 compatibility

Bernd Wurst authored 3 years ago

54)     if ($user) {
55)         $strength = $passwordchecker->passwordStrength($password, $user);
56)     } else {
57)         $strength = $passwordchecker->passwordStrength($password);
58)     }
Hanno Böck Spaces between string conca...

Hanno Böck authored 1 year ago

59)     DEBUG('password strength: ' . $strength['score']);
Bernd Wurst use Zxcvbn as fallback in e...

Bernd Wurst authored 5 years ago

60)     if ($strength['score'] < 2) {
61)         return "Das Passwort ist zu einfach!";
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

62)     }
63)     return true;
bernd * Passwörter mit cracklib p...

bernd authored 17 years ago

64) }
65) 
66) 
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

67) function filter_input_general($input)
bernd input-filtering

bernd authored 17 years ago

68) {
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

69)     if ($input === null) {
70)         return null;
71)     }
Bernd Wurst accept integer parameters i...

Bernd Wurst authored 5 years ago

72)     $input = (string) $input;
Bernd Wurst Umstellung von filter_input...

Bernd Wurst authored 5 years ago

73)     $filtered = preg_replace('/[\x00-\x09\x0b-\x0c\x0e-\x1f]/', '', $input);
74)     if ($filtered !== $input) {
75)         system_failure("Ihre Daten enthielten ungültige Zeichen!");
76)         logger(LOG_WARNING, 'inc/security', 'filter_input_general', 'Ungültige Daten!');
77)     }
78)     return $filtered;
bernd Umfangreiche Code-Aufräumar...

bernd authored 17 years ago

79) }
80) 
Bernd Wurst Umstellung von filter_input...

Bernd Wurst authored 5 years ago

81) function filter_input_oneline($input)
bernd Umfangreiche Code-Aufräumar...

bernd authored 17 years ago

82) {
Bernd Wurst Umstellung von filter_input...

Bernd Wurst authored 5 years ago

83)     if ($input === null) {
84)         return null;
85)     }
Bernd Wurst accept integer parameters i...

Bernd Wurst authored 5 years ago

86)     $input = (string) $input;
Bernd Wurst Umstellung von filter_input...

Bernd Wurst authored 5 years ago

87)     $filtered = preg_replace('/[\x00-\x1f]/', '', $input);
88)     if ($filtered !== $input) {
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

89)         system_failure("Ihre Daten enthielten ungültige Zeichen!");
Bernd Wurst accept integer parameters i...

Bernd Wurst authored 5 years ago

90)         logger(LOG_WARNING, 'inc/security', 'filter_input_oneline', 'Ungültige Daten!');
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

91)     }
Bernd Wurst Umstellung von filter_input...

Bernd Wurst authored 5 years ago

92)     return $filtered;
bernd input-filtering

bernd authored 17 years ago

93) }
94) 
95) 
Bernd Wurst New function filter_output_...

Bernd Wurst authored 5 years ago

96) function filter_output_html($data)
97) {
Hanno Böck Fix not operator (!) spaces

Hanno Böck authored 1 year ago

98)     if (!$data) {
Bernd Wurst upgrade dependancies

Bernd Wurst authored 2 years ago

99)         return "";
100)     }
Bernd Wurst New function filter_output_...

Bernd Wurst authored 5 years ago

101)     return htmlspecialchars($data, ENT_QUOTES);
102) }
103) 
104) 
Bernd Wurst Umstellung von filter_input...

Bernd Wurst authored 5 years ago

105) function verify_input_ascii($data)
106) {
Bernd Wurst accept integer parameters i...

Bernd Wurst authored 5 years ago

107)     $data = (string) $data;
Bernd Wurst Umstellung von filter_input...

Bernd Wurst authored 5 years ago

108)     $filtered = filter_var($data, FILTER_UNSAFE_RAW, FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH);
109)     if ($filtered != $data) {
Hanno Böck Spaces between string conca...

Hanno Böck authored 1 year ago

110)         logger(LOG_WARNING, 'inc/security', 'verify_input_ascii', 'Ungültige Daten: ' . $data);
Bernd Wurst Umstellung von filter_input...

Bernd Wurst authored 5 years ago

111)         system_failure("Ihre Eingabe enthielt ungültige Zeichen");
112)     }
113)     return $filtered;
114) }
115) 
116) 
117) function verify_input_identifier($data)
118) {
Bernd Wurst accept integer parameters i...

Bernd Wurst authored 5 years ago

119)     $data = (string) $data;
Bernd Wurst Umstellung von filter_input...

Bernd Wurst authored 5 years ago

120)     if ($data === "") {
121)         system_failure("Leerer Bezeichner");
122)     }
123)     $filtered = preg_replace("/[^[:alnum:]\_\.\-]/", "", $data);
124)     if ($filtered !== $data) {
Hanno Böck Spaces between string conca...

Hanno Böck authored 1 year ago

125)         logger(LOG_WARNING, 'inc/security', 'verify_input_identifier', 'Ungültige Daten: ' . $data);
Bernd Wurst Umstellung von filter_input...

Bernd Wurst authored 5 years ago

126)         system_failure("Ihre Daten enthielten ungültige Zeichen!");
127)     }
128)     return $filtered;
129) }
130) 
Bernd Wurst New function filter_output_...

Bernd Wurst authored 5 years ago

131) 
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

132) function filter_input_username($input)
bernd input-filtering

bernd authored 17 years ago

133) {
Bernd Wurst Umstellung von filter_input...

Bernd Wurst authored 5 years ago

134)     $username = preg_replace("/[^[:alnum:]\_\.\+\-]/", "", $input);
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

135)     if ($username === "") {
136)         system_failure("Leerer Benutzername!");
137)     }
138)     return $username;
hanno Hatte die Kompatibilität ge...

hanno authored 17 years ago

139) }
140) 
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

141) function verify_input_username($input)
hanno Hatte die Kompatibilität ge...

hanno authored 17 years ago

142) {
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

143)     if (filter_input_username($input) != $input) {
Hanno Böck Spaces between string conca...

Hanno Böck authored 1 year ago

144)         logger(LOG_WARNING, 'inc/security', 'verify_input_username', 'Ungültige Daten: ' . $input);
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

145)         system_failure("Ihre Daten enthielten ungültige Zeichen!");
146)     }
bernd input-filtering

bernd authored 17 years ago

147) }
148) 
bernd Umfangreiche Code-Aufräumar...

bernd authored 17 years ago

149) 
150) 
Hanno Böck codingstyle, spaces between...

Hanno Böck authored 1 year ago

151) function filter_input_hostname($input, $wildcard = false)
bernd check auf hostname

bernd authored 17 years ago

152) {
Hanno Böck Spaces between string conca...

Hanno Böck authored 1 year ago

153)     DEBUG('filter_input_hostname("' . $input . '", $wildcard=' . $wildcard . ')');
Hanno Spezialbehandlung für äöü n...

Hanno authored 6 years ago

154)     $input = strtolower($input);
Bernd Wurst Umstellung von filter_input...

Bernd Wurst authored 5 years ago

155)     $input = trim($input, "\t\n\r\x00 .");
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

156)     if (preg_replace("/[^.]_/", "", $input) != $input) {
157)         system_failure("Der Unterstrich ist nur als erstes Zeichen eines Hostnames erlaubt.");
158)     }
Hanno Spezialbehandlung für äöü n...

Hanno authored 6 years ago

159)     if (preg_replace("/[^[:alnum:]_*\.\-]/u", "", $input) != $input) {
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

160)         system_failure("Ihre Daten enthielten ungültige Zeichen!");
161)     }
162)     if (preg_match("/^.+\*/", $input)) {
163)         system_failure("Ihre Daten enthielten ungültige Zeichen (Wildcard-Stern muss ganz vorne stehen)!");
164)     }
Hanno Böck Fix not operator (!) spaces

Hanno Böck authored 1 year ago

165)     if (!$wildcard && preg_replace("/^\*/", "", $input) != $input) {
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

166)         system_failure("Ihre Daten enthielten ungültige Zeichen (Keine Wildcards erlaubt)!");
167)     }
168)     if (strstr($input, '..')) {
169)         system_failure("Ungültiger Hostname");
170)     }
171)     return $input;
bernd check auf hostname

bernd authored 17 years ago

172) }
173) 
Hanno Böck codingstyle, spaces between...

Hanno Böck authored 1 year ago

174) function verify_input_hostname($input, $wildcard = false)
bernd Add IP-address patterns

bernd authored 16 years ago

175) {
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

176)     if (filter_input_hostname($input, $wildcard) != $input) {
Hanno Böck Spaces between string conca...

Hanno Böck authored 1 year ago

177)         logger(LOG_WARNING, 'inc/security', 'verify_input_hostname', 'Ungültige Daten: ' . $input);
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

178)         system_failure("Ihre Daten enthielten ungültige Zeichen!");
179)     }
bernd Add IP-address patterns

bernd authored 16 years ago

180) }
181) 
182) 
Hanno Böck vhost-hostnamen vernünftig...

Hanno Böck authored 6 years ago

183) function verify_input_hostname_utf8($input)
184) {
185)     $puny = idn_to_ascii($input, IDNA_DEFAULT, INTL_IDNA_VARIANT_UTS46);
186)     if ($puny === false) {
Hanno Böck Spaces between string conca...

Hanno Böck authored 1 year ago

187)         system_failure("Ungültiger Hostname! idn " . $input);
Hanno Böck vhost-hostnamen vernünftig...

Hanno Böck authored 6 years ago

188)     }
189)     $filter = filter_var($puny, FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME);
Bernd Wurst Umstellung von filter_input...

Bernd Wurst authored 5 years ago

190)     if ($filter !== $puny) {
Hanno Böck Spaces between string conca...

Hanno Böck authored 1 year ago

191)         system_failure("Ungültiger Hostname! filter " . $input);
Hanno Böck vhost-hostnamen vernünftig...

Hanno Böck authored 6 years ago

192)     }
193) }
194) 
195) 
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

196) function verify_input_ipv4($input)
bernd Add IP-address patterns

bernd authored 16 years ago

197) {
Hanno Böck Fix not operator (!) spaces

Hanno Böck authored 1 year ago

198)     if (!preg_match("/^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$/", $input)) {
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

199)         system_failure('Keine IP-Adresse');
200)     }
bernd Add IP-address patterns

bernd authored 16 years ago

201) }
202) 
203) 
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

204) function verify_input_ipv6($input)
bernd Add IP-address patterns

bernd authored 16 years ago

205) {
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

206)     // ripped from Perl module Net-IPv6Addr v0.2
Hanno Böck Fix not operator (!) spaces

Hanno Böck authored 1 year ago

207)     if (!preg_match("/^(([0-9a-f]{1,4}:){7}[0-9a-f]{1,4}|[0-9a-f]{0,4}::|:(?::[a-f0-9]{1,4}){1,6}|(?:[a-f0-9]{1,4}:){1,6}:|(?:[a-f0-9]{1,4}:)(?::[a-f0-9]{1,4}){1,6}|(?:[a-f0-9]{1,4}:){2}(?::[a-f0-9]{1,4}){1,5}|(?:[a-f0-9]{1,4}:){3}(?::[a-f0-9]{1,4}){1,4}|(?:[a-f0-9]{1,4}:){4}(?::[a-f0-9]{1,4}){1,3}|(?:[a-f0-9]{1,4}:){5}(?::[a-f0-9]{1,4}){1,2}|(?:[a-f0-9]{1,4}:){6}(?::[a-f0-9]{1,4}))$/i", $input)) {
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

208)         system_failure("Ungültige IPv6-Adresse");
209)     }
bernd Add IP-address patterns

bernd authored 16 years ago

210) }
bernd Umfangreiche Code-Aufräumar...

bernd authored 17 years ago

211) 
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

212) function verify_input_recorddata($input)
Hanno Böck Prüfe DNS-Records auf probl...

Hanno Böck authored 7 years ago

213) {
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

214)     if (strstr($input, "\\") || strstr($input, '"')) {
215)         system_failure("Ungültige Zeichen");
216)     }
Hanno Böck Prüfe DNS-Records auf probl...

Hanno Böck authored 7 years ago

217) }
bernd Umfangreiche Code-Aufräumar...

bernd authored 17 years ago

218) 
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

219) function filter_quotes($input)
bernd Im Passwort dürfen auch kei...

bernd authored 17 years ago

220) {
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

221)     return preg_replace('/["\'`]/', '', $input);
bernd Im Passwort dürfen auch kei...

bernd authored 17 years ago

222) }
223) 
bernd Umfangreiche Code-Aufräumar...

bernd authored 17 years ago

224) 
225) 
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

226) function filter_shell($input)
bernd Diverse shell-kritische zei...

bernd authored 17 years ago

227) {
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

228)     return preg_replace('/[^-[:alnum:]\_\.\+ßäöüÄÖÜ/%§=]/', '', $input);
bernd Umfangreiche Code-Aufräumar...

bernd authored 17 years ago

229) }
230) 
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

231) function verify_shell($input)
bernd Umfangreiche Code-Aufräumar...

bernd authored 17 years ago

232) {
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

233)     if (filter_shell($input) != $input) {
234)         system_failure("Ihre Daten enthielten ungültige Zeichen!");
235)     }
bernd Diverse shell-kritische zei...

bernd authored 17 years ago

236) }
bernd input-filtering

bernd authored 17 years ago

237) 
bernd Umfangreiche Code-Aufräumar...

bernd authored 17 years ago

238) 
Hanno Böck validiere SSH-Keys korrekt

Hanno Böck authored 7 years ago

239) function filter_ssh_key($key)
240) {
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

241)     $keyparts = explode(" ", trim($key));
Hanno Böck validiere SSH-Keys korrekt

Hanno Böck authored 7 years ago

242) 
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

243)     if ((count($keyparts) > 3) || (count($keyparts) < 2)) {
244)         system_failure("Ungültiger SSH-Key!");
245)     }
Hanno Böck validiere SSH-Keys korrekt

Hanno Böck authored 7 years ago

246) 
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

247)     if (preg_match("/^[a-z0-9]+-[a-z0-9-]+$/", $keyparts[0]) === 0) {
248)         system_failure("Ungültiger SSH-Key!");
249)     }
Hanno Böck validiere SSH-Keys korrekt

Hanno Böck authored 7 years ago

250) 
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

251)     if (base64_decode($keyparts[1], 1) == false) {
252)         system_failure("Ungültiger SSH-Key!");
253)     }
Hanno Böck validiere SSH-Keys korrekt

Hanno Böck authored 7 years ago

254) 
Hanno Böck fix regular expression (was...

Hanno Böck authored 3 years ago

255)     if ((count($keyparts) === 3) && (preg_match("/^[a-zA-Z0-9@._-]+$/", $keyparts[2]) === 0)) {
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

256)         system_failure("Ungültige Zeichen im Kommentar des SSH-Keys!");
257)     }
Hanno Böck validiere SSH-Keys korrekt

Hanno Böck authored 7 years ago

258) 
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

259)     if (count($keyparts) === 2) {
Hanno Böck Spaces between string conca...

Hanno Böck authored 1 year ago

260)         return $keyparts[0] . " " . $keyparts[1];
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

261)     } else {
Hanno Böck Spaces between string conca...

Hanno Böck authored 1 year ago

262)         return $keyparts[0] . " " . $keyparts[1] . " " . $keyparts[2];
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

263)     }
Hanno Böck validiere SSH-Keys korrekt

Hanno Böck authored 7 years ago

264) }
265) 
bernd Umfangreiche Code-Aufräumar...

bernd authored 17 years ago

266) 
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

267) function check_path($input)
bernd XSS/CSRF-Bugs behoben

bernd authored 17 years ago

268) {
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

269)     DEBUG("checking {$input} for valid path name");
Bernd Wurst New function filter_output_...

Bernd Wurst authored 5 years ago

270)     if ($input != filter_output_html($input)) {
Hanno Böck Spaces between string conca...

Hanno Böck authored 1 year ago

271)         logger(LOG_WARNING, 'inc/security', 'check_path', 'HTML-Krams im Pfad: ' . $input);
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

272)         DEBUG("HTML-Krams im Pfad");
273)         return false;
274)     }
275)     $components = explode("/", $input);
276)     foreach ($components as $item) {
277)         if ($item == '..') {
Hanno Böck Spaces between string conca...

Hanno Böck authored 1 year ago

278)             logger(LOG_WARNING, 'inc/security', 'check_path', '»..« im Pfad: ' . $input);
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

279)             DEBUG("»..« im Pfad");
280)             return false;
281)         }
Hanno prevent breaking kvhostcrea...

Hanno authored 6 years ago

282)         if (strlen($item) > 255) {
283)             return false;
284)         }
285)     }
286)     if (strlen($input) > 2048) {
287)         return false;
bernd XSS/CSRF-Bugs behoben

bernd authored 17 years ago

288)     }
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

289)     return (preg_match('/^[ A-Za-z0-9.@\/_-]*$/', $input) == 1);
bernd XSS/CSRF-Bugs behoben

bernd authored 17 years ago

290) }
291) 
292) 
bernd * alle internen Links sinnv...

bernd authored 15 years ago

293) function in_homedir($path)
294) {
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

295)     DEBUG("Prüfe »{$path}«");
Hanno Böck Fix not operator (!) spaces

Hanno Böck authored 1 year ago

296)     if (!check_path($path)) {
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

297)         DEBUG('Kein Pfad');
298)         return false;
299)     }
Hanno Böck Fix not operator (!) spaces

Hanno Böck authored 1 year ago

300)     if (!isset($_SESSION['userinfo']['homedir'])) {
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

301)         DEBUG("Kann homedir nicht ermitteln");
302)         return false;
303)     }
Bernd Wurst Syntaxfehler

Bernd Wurst authored 6 years ago

304)     return strncmp($_SESSION['userinfo']['homedir'], $path, strlen($_SESSION['userinfo']['homedir'])) == 0;
bernd * alle internen Links sinnv...

bernd authored 15 years ago

305) }
306) 
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

307) function check_date($input)
Bernd Wurst Erste Version des SEPA-Mand...

Bernd Wurst authored 10 years ago

308) {
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

309)     return (bool) preg_match("/[0-9]{4}-(0?[1-9]|10|11|12)-([012]?[0-9]|30|31)/", $input);
Bernd Wurst Erste Version des SEPA-Mand...

Bernd Wurst authored 10 years ago

310) }
311) 
bernd * alle internen Links sinnv...

bernd authored 15 years ago

312) 
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

313) function check_emailaddr($input)
bernd Neues Modul für "Kunde werden"

bernd authored 17 years ago

314) {
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

315)     return (bool) filter_var($input, FILTER_VALIDATE_EMAIL) == $input;
bernd don't be too complicated. /...

bernd authored 16 years ago

316) }
317) 
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

318) function check_domain($input)
bernd don't be too complicated. /...

bernd authored 16 years ago

319) {
Hanno Fix coding style with php-c...

Hanno authored 6 years ago

320)     return (bool) preg_match("/^[a-z0-9\.\-]+\.[a-z\-]{2,63}$/i", $input);
bernd Neues Modul für "Kunde werden"

bernd authored 17 years ago

321) }