Walidacja funkcji PHP zmiany czasu w unix na mysql
|Walidacja funkcji PHP zmiany czasu w unix na mysql
Sprawdzenie ile pozostało dni z czasu zapisanego w formacie uniksowym.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $dzien = time()-86400; $tydzien = time()-604800; $miesiac = time()-2592000; $dwa_miesiac = time()-5184000; $zostalo_dni = ($tydzien - time()) / 86400; echo $zostalo_dni; $zostalo_tygodni = ($miesiac - time()) / 604800; echo $zostalo_tygodni; $zostalo_miesiecy = ($dwa_miesiac - time()) / 2592000; echo $zostalo_miesiecy; ## zamiana czasu uniksowego na mysql ## $phptime=1415732293; echo " ".$mysqltime = date("Y-m-d H:i:s", $phptime).""; |
Walidacja opisu ze znaczników html nie wszystkich zostawiamy potrzebne, dodatkowo sprawdzamy długość teksu i czyścimy przed zapisem do bazy danych mysql.
1 2 3 4 5 6 7 8 9 10 11 12 | function czysc_opis($post){ // Sprawdzamy czy teks jest krótszy niż 150 znaków if(strlen($post) < 150){ // pozwalamy na używanie takich znaczników "<p>" $post = strip_tags($post, " </p><p>"); // filtrujemy dane przed zapisem do bazy danych mysql return mysql_real_escape_string($post); }else{ return "Twój opis jest za długi !"; } } |
Walidacja numeru telefonu pozostawiając możliwość użycia przerwy pomiędzy liczbami i znaku myślnika.
1 2 3 4 5 | function czysctel($tel) { // czyścimy numer telefonu i dopszczamy używanie takich symboli + – i przerwa pomiędzy // znakami taki format 111 111 111 lub 111-111-111 +48 52 itd. są dozwolone ## return preg_match('/^[0-9\+\-\ ]{8,13}$/', $tel); } |
Walidacja numeru nip i zmuszamy do prawidłowego podania go.
Poprawny format 000 000 00 00 i 000-000-00-00 lub 107-00-00-067
1 2 3 4 5 6 7 8 9 10 11 12 13 | function czyscnip($nip) { if(!empty($nip)) { $waga = array(6, 5, 7, 2, 3, 4, 5, 6, 7); $nip = preg_replace(array('/\-/','/\ /'), '', $nip); if (strlen((int)$nip) == 10) { $suma = 0; for($i = 0; $i < count($waga); $i++) $suma += $nip[$i] * $waga [$i]; if(($suma % 11) == $nip[9]){ return true; } } } return false; } |
Funkcja php odpowiedzialna za walidacje kodu pocztowego
1 2 3 4 5 6 7 | function czysckodpoczt($kodpocztowy){ if(preg_match('/^[0-9\-]{5,7}$/', $kodpocztowy)) { return $kodpocztowy; }else{ return "Niepoprawny kod"; } } |
Lub bardziej dokładny z zabezpieczeniem przed Cross-site scripting (XSS)
1 2 3 4 5 6 7 | function czysckodpoczt1($kodpocztowy){ if(preg_match('/^[0-9]{2}-[0-9]{3}$/', strip_tags($kodpocztowy))) { return $kodpocztowy; }else{ return "Niepoprawny kod"; } } |
Kolejna funkcja, przydatna podczas codziennej pracy z formularzami php filtrująca email, nie zapominajmy tutaj stosując funkcję php, filter_var() o możliwości przeprowadzenia ataku na za pomocą Cross-site scripting (XSS)
1 2 3 4 5 6 7 | function czyscemail($email){ if(!filter_var(strip_tags($email), FILTER_VALIDATE_EMAIL) === false) { return $email; }else{ return "Niepoprawny email"; } } |
Oraz: Funkcja która pozwala zapisać sam adres www bez protokołu np. „http://” także zabezpieczona przed Cross-site scripting (XSS)
1 2 3 4 5 6 7 8 9 10 11 | function czyscewww($www){ if($url = parse_url(strip_tags($www))){ if(!$url["scheme"]){ return $url['path']; }else{ return $url['host']; } }else{ return "Niepoprawny www"; } } |
1 2 3 4 5 6 7 8 9 10 | $www = 'http://www.oskarś.examplę.pl'; // FILTER_SANITIZE_STRING Zabezpieczenie przed Cross-site scripting (XSS) drugia flaga // walidacja url function czyscewww1($www){ if($www = filter_var($www, FILTER_SANITIZE_STRING, FILTER_VALIDATE_URL)){ return $www; }else{ return "Niepoprawny www"; } } |
albo, chyba najciekawsza z tego zestawu, dlatego że obsługuje polskie znaki diakratyczne i nie trzeba się martwić o ataki Cross-site scripting (XSS) choć wszystkie gdzieś mają swoje zastosowanie, obsługuje także subdomeny.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | $www = 'http://www.oskarś.examplę.pl'; $www0 = 'oskarś.examplę.pl'; $www1 = 'www.example.pl'; $www2 = 'www.oskarś.examplę.pl'; $www3 = 'oskarś.examplę.pl'; $www4 = 'examplę.pl'; $www5 = ' http://www.examplę.pl'; // dla polskich domen ze znakami diakratycznymi i zabezpieczeniem przed Cross-site // scripting (XSS) function czyscewww2($www){ if(preg_match('%^((http(s)?://)|([a-z])){2}+([a-ząęćłńóśźż0-9-].?)+([a-z]){2}?$%i', $www, $math)){ return $math[0]; }else{ return "Niepoprawny www"; } } |
przypis: