PHP中Include、Require及其变种区别与效率分析.pdfVIP

  • 0
  • 0
  • 约4.32千字
  • 约 4页
  • 2026-01-26 发布于北京
  • 举报

PHP中Include、Require及其变种区别与效率分析.pdf

1.Include与require的区别,require和require_once的效率哪个高?

Php在遇到include时就解释一次,如果页面中出现10次include,php就解释10次,

而php遇到require时只解释一次,即使页面出现多次require也只解释一次,因此require

的执行表率比include高。

Php使用require包含文件时将被包含的文件当成当前文件的一个组成部分,如果被包

含的文件中有语法错误或者被包含的文件不存在,则php将不再执行,并提示错误。

Php使用include包含文件时相当于指定了这个文件的路径,当被包含的文件有语法错

误或者被包含的文件不存在时给出警告,不影响本身的运行。

Include在包含文件时可以判断文件是否包含,而require则不管任何情况都包含进来。

Require的效率比require_once的效率更高,因为require_once在包含文件时要进行判断

文件是否已经被包含。

2.和session的区别,了后session能正常使用吗?session的缺点?

session在服务器端是存在哪里的?是共有的还是私有的?

保存在客户端,用户通过可以进行修改,不安全,单个允许的最

大值是3k。

而SESSION保存在服务器端,相对比较安全,大小没有限制。

禁用了session不能正常使用。

Session的缺点:保存在服务器端,每次都从服务器进行,对服务器有资源消

耗。

Session保存在服务器端的文件或数据库中,默认保存在文件中,文件路径由php配置

文件的session.save_path指定。

Session文件是公有的。

3.怎么防止sql注入?

1、过滤掉一些常见的数据库操作关键字:select,insert,update,delete,and,*等

或者通过系统函数:addslashes(需要被过滤的内容)来进行过滤。

2、在PHP配置文件中

Register_globals=off;设置为关闭状态//作用将全局变量关闭。

比如:接收POST表单的值使用$_POST[user],如果将register_globals=on;直接使用$user

可以接收表单的值。

3、SQL语句书写的时候尽量不要省略小引号(tab键上面那个)和单引号

4、提高数据库命名技巧,对于一些重要的字段根据程序的特点命名,取不易被猜到的

5、对于常用的方法加以封装,避免直接暴漏SQL语句

6、开启PHP安全模式

Safe_mode=on;

7、打开magic_es_gpc来防止SQL注入

Magic_es_gpc=off;默认是关闭的,它打开后将自动把用户提交的sql语句的查询进

行转换,把转为\,这对防止sql注入有重大作用。

因此开启:magic_es_gpc=on;

8、控制错误信息

关闭错误提示信息,将错误信息写到系统日志。

9、使用mysqli或pdo预处理。

4.数据库索引有几类,分别?什么时候该用索引

普通索引、主键索引、唯一索引

并非所有的数据库都以相同的方式使用索引,作为通用规则,只有当经常查询列中

的数据时才需要在表上创建索引。

5.传值和非传值的区别,什么时候该用传值,什么时候该用非传值

按值传递:函数范围内对值的改变在函数外都会被忽略。

按传递:函数范围内对值的任何改变在函数外也将反应出这些修改。

按值传递时,php必须值,如果操作的是大型的对象和字符串,这将是一个代价很

大的操作。按传递不需要值,因此对性能的提高有好处。

当需要在函数内改变源变量的值时用传递,如果不想改变原变量的值用传值。

6.写几个魔术方法并说明作用?

call()当调用不存在的方法时会自

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档