Viewing File: /home/cienp/public_html/portal/includes/inc_prot.php

<?php
    function protecao($de_vari, $de_tipo = 'string') {
            
        if (strlen($de_vari) > 0) {

                if (urldecode($de_vari) > 0) {
                    $de_vari = urldecode($de_vari);
                }

                $de_vari = str_replace('<','',$de_vari);
                $de_vari = str_replace('>','',$de_vari);
                $de_vari = str_replace('%','',$de_vari);
                $de_vari = str_replace(':','',$de_vari);
                $de_vari = str_replace('"','',$de_vari);
                $de_vari = str_replace("'",'',$de_vari);
                $de_vari = strip_tags($de_vari);
                $de_vari = addslashes($de_vari);

                switch ($de_tipo) {
                    case 'inteiro':		// Formato valido: N ou NN ou NNN e por ai vai (SEM ponto de MILHAR!)
		                $de_vari = str_replace('.','',$de_vari);
	                    //echo "entrei no inteiro<br>";
                        if ( !preg_match('/^[0-9]+$/',$de_vari) ) {
                           $de_vari = '';
                        }
                       	else {
	                        settype($de_vari, 'integer');
                        }
                        break;
                    case 'decimal':		// Formato valido: N,NN ou NN,NN ou NNNN,NN e por ai vai (separador decimal é vírgula; SEM ponto de MILHAR! Sempre COM 2 casas decimas)
		                $de_vari = str_replace('.','',$de_vari);
                        //if (!preg_match("/^([0-9.,]+)$/", $de_vari)) {
                        if (!preg_match("/^[0-9]+([.,][0-9]{1,2})?$/", $de_vari)) {
                           $de_vari = '';
                        } 
                        break;
                    case 'e-mail':
                    case 'email':
                        if (!preg_match('/^[a-zA-Z0-9_.-]+([.][a-zA-Z0-9_.-]+)*[@][a-zA-Z0-9_-]+([.][a-zA-Z0-9_-]+)*[.][a-zA-Z]{2,4}$/',$de_vari)) {
                           $de_vari = '';
                        } 
                        break; 
                    case 'data':		// Formato valido: DD/MM/AAAA (dia e mês SEMPRE com 2 DIGITOS, e ano COM 4 DIGITOS)
                    	// mascara OWASP
					    $matches = array();
					    $pattern = '/^([0-9]{1,2})\\/([0-9]{1,2})\\/([0-9]{4})$/';
					    if (!preg_match($pattern, $de_vari, $matches)) {
                           $de_vari = '';
						}
					    if (!checkdate($matches[2], $matches[1], $matches[3])) {
                           $de_vari = '';
						}
                        break; 
                    default:
                        $de_vari = filter_var($de_vari, FILTER_SANITIZE_STRING);
                        break;
                }
        }

        return $de_vari;
    }
?>
Back to Directory File Manager