git.schokokeks.org
Repositories
Help
Report an Issue
webinterface.git
Code
Commits
Branches
Tags
Suche
Strukturansicht:
3398623
Branches
Tags
master
ticket
webinterface.git
inc
security.php
Umfangreiche Code-Aufräumarbeiten Neuer "Are you sure"-Dialog
bernd
commited
3398623
at 2007-08-09 19:04:25
security.php
Blame
History
Raw
<?php require_once('inc/error.php'); function strong_password($password) { include("config.php"); DEBUG("Öffne Wörterbuch: {$config['cracklib_dict']}"); if (! ($dict = crack_opendict($config['cracklib_dict']))) { logger("inc/security.php", "cracklib", "could not open cracklib-dictionary »{$config['cracklib_dict']}«"); system_failure("Kann Crack-Lib-Wörterbuch nicht öffnen: {$config['cracklib_dict']}"); } // Führe eine Überprüfung des Passworts durch $check = crack_check($dict, $password); $message = crack_getlastmessage(); crack_closedict($dict); if ($check === True) { DEBUG("Passwort ok"); return true; } else { DEBUG("Passwort nicht ok: {$message}"); return $message; } } function filter_input_general( $input ) { return htmlspecialchars(iconv('UTF-8', 'UTF-8', $input), ENT_QUOTES, 'UTF-8'); } function verify_input_general( $input ) { if (filter_input_general($input) != $input) system_failure("Ihre Daten enthielten ungültige Zeichen!"); } function filter_input_username( $input ) { if (ereg_replace("[^[:alnum:]\_\.\+\-]", "", $input ) != $input) system_failure("Ihre Daten enthielten ungültige Zeichen!"); } function filter_input_hostname( $input ) { $input = str_replace(array('Ä', 'Ö', 'Ü'), array('ä', 'ö', 'ü'), strtolower($input)); if (ereg_replace("[^[:alnum:]äöü\.\-]", "", $input ) != $input) system_failure("Ihre Daten enthielten ungültige Zeichen!"); return $input; } function filter_quotes( $input ) { return ereg_replace('["\'`]', '', $input ); } function filter_shell( $input ) { return ereg_replace('[^-[:alnum:]\_\.\+ßäöüÄÖÜ/%§=]', '', $input ); } function verify_shell( $input ) { if (filter_shell($input) != $input) system_failure("Ihre Daten enthielten ungültige Zeichen!"); } function check_path( $input ) { DEBUG("checking {$input} for valid path name"); if ($input != filter_input_general($input)) { DEBUG("HTML-Krams im Pfad"); return False; } $components = explode("/", $input); foreach ($components AS $item) { if ($item == '..') { DEBUG("»..« im Pfad"); return False; } } return (preg_match('/^[a-z0-9.@\/_-]*$/',$input) == 1); } function check_emailaddr( $input ) { return (preg_match("/^[a-z]+[a-z0-9]*[\.|\-|_]?[a-z0-9]+@([a-z0-9]*[\.|\-]?[a-z0-9]+){1,4}\.[a-z]{2,4}$/i", $input ) == 1); } ?>