我需要清理用户输入Laravel吗?
我使用Laravel 4与雄辩。 当我得到用户输入时,我只使用$name=Input::get('name')
,然后我做$a->name=$name;
我不知道Input::get
函数是否Input::get
保护我免受SQL注入和XSS的攻击。 如果没有,我需要做些什么来消毒输入?
而且,当我以我的观点显示价值时,我是否应使用{{$a}}
或{{{$a}}}
问候和感谢。
Laravel使用PDO的参数绑定,所以SQL注入不是你应该担心的。 你应该阅读这个。
Input :: get()不会过滤任何东西。
三重花括号与e()和HTML :: entities()完全相同。 他们都使用UTF-8支持调用htmlentities:
htmlentities($your_string, ENT_QUOTES, 'UTF-8', false);
您应该使用{{{$a}}}
因为例如Input可以具有HTML标记。 Laravel不会过滤它。
为了避免SQL注入,你应该使用绑定你的参数运行查询,如:
$var = 1;
$results = DB::select('select * from users where id = ?', array($var));
并不是:
$results = DB::select('select * from users where id = '.$var);
链接地址: http://www.djcxy.com/p/21649.html