Fyl*_*lux 9 php xss sql-injection laravel eloquent
我正在使用Laravel 4和Eloquent.当我得到用户输入时我只是使用$name=Input::get('name')然后我做$a->name=$name;
我不知道该函数是否Input::get保护我免受SQL Injection和XSS的攻击.如果没有,我需要做些什么来消毒输入?
并且,当我在我的视图中显示价值时,我应该使用{{$a}}或{{{$a}}}
问候和感谢.
cha*_*cha 11
Laravel使用PDO的参数绑定,因此SQL注入不是你应该担心的.你应该读这个.
Input :: get()不会过滤任何内容.
三个花括号与e()和HTML :: entities()相同.所有这些都称为支持UTF-8的htmlentities:
htmlentities($your_string, ENT_QUOTES, 'UTF-8', false);
Run Code Online (Sandbox Code Playgroud)
您应该使用, {{{$a}}}因为例如 Input 可以有 HTML 标签。Laravel 不会过滤它。
为避免 SQL 注入,您应该使用绑定运行查询的参数,例如:
$var = 1;
$results = DB::select('select * from users where id = ?', array($var));
Run Code Online (Sandbox Code Playgroud)
并不是:
$results = DB::select('select * from users where id = '.$var);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20843 次 |
| 最近记录: |