一般接收前端传来的数据,是不是需要一个函数对其所有数据的有效和正确性进行统一检验呢,还是到需要用时才分开对各自的数据进行验证?对于php,有没必要对每个带参函数进行数据有效性检验?
一般接收前端传来的数据,是不是需要一个函数对其所有数据的有效和正确性进行统一检验呢,还是到需要用时才分开对各自的数据进行验证?对于php,有没必要对每个带参函数进行数据有效性检验?
如果是框架,一般都有从外部接收数据的API提供,这些API会对数据进行统一检验,但也并不是万能。对数据检验是个很有必要的事。
<code>php</code><code>$var = !empty($var) ? $var : $default; </code>
1、对于所有前端传来的数据,在处理前,当然必须进行校验和验证。一个原则是你把所有用户当成是恶意的
2、处于模块的内聚性和解耦,最理想的当然是每个函数内部进行都进行校验,因为往往你不会知道你写出来的函数会被谁调用,你的调用者也不一定会清楚,而且忠实地进行参数校验。当然你的项目规模足够小,大可以不必考虑那么多。
1:
框架会统一做一层过滤,当然自己要设置下
类似ci :
伪代码
<code>$this->input->post().xxsclean(); </code>
2:
类型的过滤是必须的,请认真写代码,任何用户可更改输入都可能带来危险,阅读下xss,注入