欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php面试常问的问题

程序员文章站 2022-06-02 11:13:09
...
一、MVC的优缺点

缺点:

1. 增加了系统结构和实现的复杂性,产生过多的更新操作,降低了运行效率。

2. 视图离不开控制器,妨碍了他们的重用性;

优点:

1. 开发人员可以只关注整体结构中的其中某一层

2. 降低层与层之间的依赖关系

3. 有利于标准化

5. 项目结构更清楚,分工更明确,有利于后期的维护和升级

二、面向对象的三个基本特征是啥?

1. 封装:将功能封装成一个个独立的单元,避免牵一发而动全身,方便对程序修改

2. 继承:代码重用,减少编码量,间接较少维护成本

3. 多态性:多态性是指允许不同类的对象对同一个消息做出响应


三、面向对象程序开发的优点:

1. 开发时间短,效率高,可靠性高,所开发的程序更强壮。由于面向对象编程的可重用性,可以在应用程序中大量采用成熟的类库,从而缩短了开发时间。

2. 应用程序更易于维护,更新和升级。继承和封装使得应用程序的修改带来的影响更加局部化。


四、xss跨站脚本攻击

攻击:

1. xss属于被动式且用于客户端的攻击方式

原理:攻击者向有xss漏洞的网站输入恶意的html代码,当其他用户浏览该网站时,这段html代码会自动执行,从而达到攻击的目的。

2. 攻击之前, 我们先找到一个存在xss漏洞的网站,xss漏洞分为两种,一种是DOM Based xss漏洞,另外一张是Stored XSS漏洞,所有课输入的地方没有对输入数据进行处理的话,都会存在xss漏洞,xss的危害取决于攻击代码的威力,攻击代码也不局限于script

防御:

1. 对用户的输入进行处理,只允许输入合法的值,其它值一概过滤掉

2. 我们不能对用户数据进行严格的过滤的时候,那我们就对标签进行转换