Dateigrösse: 5.17 kb
1 <?php 2 3 /*** Einfache Browserweiche: msie on windows or not ***/ 4 $browser = strtolower(@$_SERVER['HTTP_USER_AGENT']); 5 $browser = strstr($browser, "msie") && strstr($browser, "win") ? true : false; 6 7 8 /*** callback isMSIE: returns msie version - else 0/false ***/ 9 function isMSIE() { 10 $version = 0; 11 $ua = strtolower(@$_SERVER['HTTP_USER_AGENT']); 12 if(strstr($ua,'msie')) 13 { 14 $temp = split('msie',$ua); 15 $version = floatval($temp[1]); 16 return $version; 17 } 18 } 19 20 21 /*** security check function: only a-z 0-9 , _ - and whitespace allowed ***/ 22 function _cleanInput ($str) 23 { 24 /*** removes anything but 0-9,a-z,-_ ***/ 25 return preg_replace("/[^0-9a-z\-_,]+/i", "", $str); 26 } 27 28 29 /*** callback _quoteSmart for string and array ***/ 30 function _quoteSmart ($value) 31 { 32 if (is_array ($value)) 33 { 34 return array_map('_quoteSmart', $value); 35 } 36 else 37 { 38 if (get_magic_quotes_gpc()) 39 { 40 $value = stripslashes ($value); 41 } 42 43 if ($value == '') 44 { 45 $value = 'NULL'; 46 } 47 48 if (!is_numeric($value) || $value[0] == '0') 49 { 50 $value = "'" . mysql_real_escape_string($value) . "'"; 51 } 52 53 return $value; 54 } 55 } 56 57 58 function _filterData ($value) 59 { 60 if (get_magic_quotes_gpc()) 61 { 62 $value = stripslashes($value); 63 } 64 $value = str_replace("javascript", "", $value); 65 $value = str_replace("location", "", $value); 66 $value = str_replace("DELETE", "", $value); 67 $value = str_replace("UPDATE", "", $value); 68 $value = str_replace("SELECT", "", $value); 69 $value = str_replace("INSERT", "", $value); 70 $value = str_replace("WHERE", "", $value); 71 $value = str_replace("LIKE", "", $value); 72 $value = trim($value); 73 $value = strip_tags($value); 74 return $value; 75 } 76 77 78 function checkEmail($email, $domainCheck = false) 79 { 80 if (preg_match('/^[a-zA-Z0-9\._-]+\@(\[?)[a-z0-9\-\.]+\.([a-z]{2,4}|museum|[0-9]{1,3})(\]?)$/', strtolower(trim($email)))) 81 { 82 if ($domainCheck && function_exists('checkdnsrr')) 83 { 84 list (, $domain) = explode('@', $email); 85 if (checkdnsrr($domain, 'MX') || checkdnsrr($domain, 'A')) 86 { 87 return true; 88 } 89 return false; 90 } 91 return true; 92 } 93 return false; 94 } 95 96 //---------------------------- Email Test inkl TLD-Check -------------------- 97 // gibt true aus, wenn Mail-Adresse formal richtig ist und die TLD existiert 98 function teste_email($test) { 99 if(check_tld($test) == false) { 100 return false; 101 } else{ 102 return (preg_match('/^[a-zA-Z0-9\._-]+\@(\[?)[a-z0-9\-\.]+\.([a-z]{2,4}|museum|[0-9]{1,3})(\]?)$/', strtolower(trim($test)))); 103 } 104 } 105 // Wird in obiger Funktionen aufgerufen: 106 function check_tld($mailadresse) { 107 $mailadresse = strtolower($mailadresse); 108 // Liste (fast?) aller TLDs; 109 $arrTLD = array("aero","biz","com","coop","edu","gov","info","int","mil","museum","name","net","org","pro","ac","ad","ae","af","ag","ai","al","am","an","ao","aq","ar","as","at","au","aw","az","ba","bb","bd","be","bf","bg","bh","bi","bj","bm","bn","bo","br","bs","bt","bv","bw","by","bz","ca","cc","cd","cf","cg","ch","ci","ck","cl","cm","cn","co","cr","cs","cu","cv","cx","cy","cz","de","dj","dk","dm","do","dz","ec","ee","eg","eh","er","es","et","fi","fj","fk","fm","fo","fr","ga","gb","gd","ge","gf","gg","gh","gi","gl","gm","gn","gp","gq","gr","gs","gt","gu","gw","gy","hk","hm","hn","hr","ht","hu","id","ie","il","im","in","io","iq","ir","is","it","je","jm","jo","jp","ke","kg","kh","ki","km","kn","kp","kr","kw","ky","kz","la","lb","lc","li","lk","lr","ls","lt","lu","lv","ly","ma","mc","md","mg","mh","mk","ml","mm","mn","mo","mp","mq","mr","ms","mt","mu","mv","mw","mx","my","mz","na","nc","ne","nf","ng","ni","nl","no","np","nr","nu","nz","om","pa","pe","pf","pg","ph","pk","pl","pm","pn","pr","ps","pt","pw","py","qa","re","ro","ru","rw","sa","sb","sc","sd","se","sg","sh","si","sj","sk","sl","sm","sn","so","sr","st","su","sv","sy","sz","tc","td","tf","tg","th","tj","tk","tm","tn","to","tp","tr","tt","tv","tw","tz","ua","ug","uk","um","us","uy","uz","va","vc","ve","vg","vi","vn","vu","wf","ws","ye","yt","yu","za","zm","zr","zw"); 110 $posAt = strpos($mailadresse, "@"); 111 $posLastDot = strrpos($mailadresse, "."); 112 113 // sind mindestens 2 Zeichen vor dem @ ? 114 // sind zwischen dem letzten Punkt (der die TLD einleitet) und dem @ mindestens 2 Zeichen ? 115 if($posAt < 2 || ($posAt + 3) > $posLastDot) { 116 return false; 117 } 118 $tld = substr($mailadresse, ($posLastDot+1), strlen($mailadresse)); 119 return (in_array($tld, $arrTLD)); 120 } 121 122 123 /**************************************** 124 * pear error reporting function * 125 ****************************************/ 126 function bearbeite_pear_fehler($error_obj) 127 { 128 if (get_class($error_obj) == 'db_error') 129 { 130 print "Datenbank-Fehler:<br>\n"; 131 } 132 else 133 { 134 print "Sonstiger PEAR-Fehler:<br>\n"; 135 } 136 die ($error_obj->getMessage()."\n<br>".$error_obj->getDebugInfo()); 137 } 138 ?> 139