Home  >  Article  >  Backend Development  >  关于编程规范的问题

关于编程规范的问题

WBOY
WBOYOriginal
2016-06-06 20:35:01839browse

一般接收前端传来的数据,是不是需要一个函数对其所有数据的有效和正确性进行统一检验呢,还是到需要用时才分开对各自的数据进行验证?对于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,注入

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn