当前位置:Gxlcms > PHP教程 > php面试常问的问题

php面试常问的问题

时间:2021-07-01 10:21:17 帮助过:6人阅读

一、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. 我们不能对用户数据进行严格的过滤的时候,那我们就对标签进行转换

人气教程排行