问题描述
我在Eloquent中使用Laravel 4。
当我得到用户输入时,我只使用 $ name = Input :: get('name')
然后执行 $ a -> name = $ name;
I am using Laravel 4 with Eloquent.When I get the user input I just use $name=Input::get('name')
and then I do $a->name=$name;
我不知道函数 Input :: get
保护我免受SQL注入和XSS的攻击。如果没有,我该怎么做才能清理输入内容?
I don't know if the function Input::get
protect me from SQL Injection and XSS. If it does not, what do I have to do to sanitize the input?
而且,当我在视图中显示值时,是否应该使用 {{$ a}}
或 {{{$ a}}}
And, when I show the value in my view, shall I use {{$a}}
or {{{$a}}}
问候和感谢。
推荐答案
Laravel使用PDO的参数绑定,因此您不必担心SQL注入。不过,您应该阅读。
Laravel uses PDO's parameter binding, so SQL injection is not something you should worry about. You should read this though.
Input :: get()不过滤任何内容。
Input::get() does not filter anything.
三花括号与e( )和HTML :: entities()。它们所有人都调用具有UTF-8支持的htmlentities:
Triple curly braces do the same as e() and HTML::entities(). All of them call htmlentities with UTF-8 support:
htmlentities($your_string, ENT_QUOTES, 'UTF-8', false);
这篇关于我是否需要清理用户输入Laravel的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!