3

我正在使用带有准备语句的 PDO。

我正在使用 Javascript 加密来自 html textarea 的文本,在 PHP 中解密,添加一些文本,然后在将数据写入数据库之前重新加密数据。

我正在使用 PHP 从 db 中解密数据并将其放入 HTML5 页面中。

内容通常是 HTML 编码文本的结果。

addlashes、htmlentities 和 preg_replace...我能以最适合我的方式验证/过滤数据吗?

验证和过滤数据有什么区别?

我没有安全方面的经验。请帮助我找到适合我的应用程序的最佳方式。

提前致谢

4

3 回答 3

3

我认为这对我来说是一个很好的解决方案。

你怎么看待这件事?

 function clearPasswrod($value){


     $value = trim($value); //remove empty spaces
     $value = strip_tags(); //remove html tags
     $value = htmlentities($value, ENT_QUOTES,'UTF-8'); //for major security transform some other chars into html corrispective...

      return $value;
 }
 function clearText($value){

     $value = trim($value); //remove empty spaces
     $value = strip_tags(); //remove html tags
     $value = filter_var($value, FILTER_SANITIZE_MAGIC_QUOTES); //addslashes();
     $value = filter_var($value, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW); //remove /t/n/g/s
     $value = filter_var($value, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH); //remove é à ò ì ` ecc...
     $value = htmlentities($value, ENT_QUOTES,'UTF-8'); //for major security transform some other chars into html corrispective...

     return $value;
 }
 function clearEmail($value){


     $value = trim($value); //remove empty spaces
     $value = strip_tags(); //remove html tags
     $value = filter_var($value, FILTER_SANITIZE_EMAIL); //e-mail filter;
     if($value = filter_var($value, FILTER_VALIDATE_EMAIL))
   {
     $value = htmlentities($value, ENT_QUOTES,'UTF-8');//for major security transform some other chars into html corrispective...
   }else{$value = "BAD";}  
     return $value;
 }
于 2014-02-13T12:06:20.340 回答
0

如果要验证?试试这个。

function clean($str) {
        $str = @trim($str);
        if(get_magic_quotes_gpc()) {
            $str = stripslashes($str);
        }
        return mysql_real_escape_string($str);
    }

就像这样使用$username = clean($_POST['username']);

于 2014-02-13T08:40:08.320 回答
0

这些是在 PHP 5.3 中添加的,请阅读手册,看​​看这是否对您有帮助。

消毒过滤器:

http://www.php.net/manual/en/filter.filters.sanitize.php

验证过滤器:

http://www.php.net/manual/en/filter.filters.validate.php

于 2014-02-13T08:56:06.640 回答