1)、写一个函数,从一个标准url里取出文件的扩展名,需要取出php或.php

<?php
$a="http://www.test.com.cn:88/abc/de/fg.php?id=1"; $b=parse_url($a);//解析 URL,以数组的方式返回其组成部分 var_dump($b); echo '<br>'; // 方法一
echo substr($b['path'],strpos($b['path'],'.')); echo '<br>'; // 方法二
$path_array = explode('.',$b['path']);
echo end($path_array);

参考函数:

parse_url

substr

strpos

explode

end

2)、描述一下大流量高并发量网站的解决方案

  1. 首先,确认服务器硬件是否足够支持当前的流量 普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大, 那么必须首先配置一台更高性能的专用服务器才能解决问题 ,否则怎么优化都不可能彻底解决性能问题。
  2. 其次,优化数据库访问前台实现完全的静态化当然最好,可以完全不用访问数据库,不过对于频繁更新的网站, 静态化往往不能满足某些功能。      缓存技术就是另一个解决方案,就是将动态数据存储到缓存文件中,动态网页直接调用 这些文件,而不必再访问数据库,WordPress和Z-Blog都大 量使用这种缓存技术      如果确实无法避免对数据库的访问,那么可以尝试优化数据库的查询SQL.避免使用 Select * from这样的语句,每次查询只返回自己需要的结果,避免短时间内的大,尽量做到"所查即所得" ,遵循以小表为主,附表为辅,查询条件先索引,先小后大的原则,提高查询效率.量SQL查询。
  3. 禁止外部的盗链     外部网站的图片或者文件盗链往往会带来大量的负载压力,因此应该严格限制外部对于自身的图片或者文件盗链,好在目前可以简单地通过refer来控制盗 链,Apache自 己就可以通过配置来禁止盗链,IIS也有一些第三方的ISAPI可以实现同样的功能。当然,伪造refer也可以通过代码来实现盗 链,不过目前蓄意伪造refer盗链的还不多, 可以先不去考虑,或者使用非技术手段来解决,比如在图片上增加水印。
  4. 控制大文件的下载。       大文件的下载会占用很大的流量,并且对于非SCSI硬盘来说,大量文件下载会消耗 CPU,使得网站响应能力下降。因此,尽量不要提供超过2M的大文件下载,如果需要提供,建议将大文件放在另外一台服务器上。
  5. 使用不同主机分流主要流量       将文件放在不同的主机上,提供不同的镜像供用户下载。比如如果觉得RSS文件占用流量大,那么使用FeedBurner或者FeedSky等服务将RSS 输出放在其他主机上,这样别人访问的流量压力就大多集中在FeedBurner的主机上,RSS就不占用太多资源了。
  6. 使用流量分析统计软件       在网站上安装一个流量分析统计软件,可以即时知道哪些地方耗费了大量流量,哪些页面需要再进行优化,因此,解决流量问题还需要进行精确的统计分析才可以。 我推荐使用的流量分析统计软件是Google Analytics(Google分析)。若还有其他的流量分析软件,欢迎共享交流.

3)、如何设计或配置Mysql,才能达到高效使用的目的

  1. 数据库设计方面,设计结构良好的数据库,允许部分数据冗余。 选取最适用的字段属性,尽可能把字段设置为NOT NULL,这样在查询的时候,数据库不用去比较NULL值。
  2. 系统架构设计方面,表散列,把海量数据散列到几个不同的表里面,集群,数据库查询和写入分开。 写高效sql语句,以提高效率。使用连接(join)来代替子查询使用联合(union)来代替手动创建的临时表所得皆必须,只从数据库取必须的数据。必要的时候用不同的存储引擎,比如Innodb可以减少死锁,HEAP可以提高一个数量级的查询速度。

4)、如何进行防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_quotes_gpc来防止SQL注入 Magic_quotes_gpc=off;默认是关闭的,它打开后将自动把用户提交的sql语句的查询进行转换,把'转为\',这对防止sql注入有重 大作用。因此开启:magic_quotes_gpc=on;
  8. 控制错误信息关闭错误提示信息,将错误信息写到系统日志。
  9. 使用mysqli或pdo预处理。

5)、用PHP写出一个安全的用户登录系统需要注意哪些方面。

  1. 密码要使用MD5(密码+字符串)进行加 密。
  2. 登录表单的名称不要跟数据库字段一样,以免暴漏表字段。
  3. 用户表的表名、字段名、密码尽量用不容易被猜到的。
  4. 要使用验证码验证登陆,以防止 暴力破解。
  5. 验证提交的数据是不是来自本网站。
  6. 登录后台处理代码数据库部分使用预处理,做好过滤,防止sql注入。

6)、$_SERVER

$indicesServer = array('PHP_SELF',
'argv',
'argc',
'GATEWAY_INTERFACE',
'SERVER_ADDR',
'SERVER_NAME',
'SERVER_SOFTWARE',
'SERVER_PROTOCOL',
'REQUEST_METHOD',
'REQUEST_TIME',
'REQUEST_TIME_FLOAT',
'QUERY_STRING',
'DOCUMENT_ROOT',
'HTTP_ACCEPT',
'HTTP_ACCEPT_CHARSET',
'HTTP_ACCEPT_ENCODING',
'HTTP_ACCEPT_LANGUAGE',
'HTTP_CONNECTION',
'HTTP_HOST',
'HTTP_REFERER',
'HTTP_USER_AGENT',
'HTTPS',
'REMOTE_ADDR',
'REMOTE_HOST',
'REMOTE_PORT',
'REMOTE_USER',
'REDIRECT_REMOTE_USER',
'SCRIPT_FILENAME',
'SERVER_ADMIN',
'SERVER_PORT',
'SERVER_SIGNATURE',
'PATH_TRANSLATED',
'SCRIPT_NAME',
'REQUEST_URI',
'PHP_AUTH_DIGEST',
'PHP_AUTH_USER',
'PHP_AUTH_PW',
'AUTH_TYPE',
'PATH_INFO',
'ORIG_PATH_INFO') ; echo '<table cellpadding="10">' ;
foreach ($indicesServer as $arg) {
if (isset($_SERVER[$arg])) {
echo '<tr><td>'.$arg.'</td><td>' . $_SERVER[$arg] . '</td></tr>' ;
}
else {
echo '<tr><td>'.$arg.'</td><td>-</td></tr>' ;
}
}
echo '</table>' ;

7)、下面说法不正确的是:C

  A. PHP有四种标量类型:布尔型(boolean),整型(integer),浮点型(float),字符串(string)

  B. 浮点型(float)与双精度型(double)是同一种类型

  C. 符合类型包括:数组(array),对象(object),资源(resource)

  D. 伪类型:混合型(mixed),数字型(number),回调(callback)

参考:http://blog.csdn.net/snn1410/article/details/7728971

8)SESSION与 COOKIE的区别是什么,请从协议,产生的原因与作用说明?

  1. http无状态协议,不能区分用户是否是从同一个网站上来的,同一个用户请求不同的 页面不能看做是同一个用户。
  2. SESSION保存在服务器端,COOKIE保存在客户端,SESSION依赖COOKIE进行传输,如果COOKIE被 禁用了,SESSION将不能继续使用。

9)HTTP状态中302、403、 500代码含义?

  300重定向、403服务器拒绝访问、500服务器内部错误。

10)Linux 下建立压缩包,解压缩包的命令。

  压缩:gzip 、tar -cvfz、zip、bzip22、解压:gunzip、tar -zxvf、unzip、bunzip2

---------------------
作者:EVKJ
来源:CSDN
原文:https://blog.csdn.net/evkj2013/article/details/72866713
版权声明:本文为博主原创文章,转载请附上博文链接!

最新文章

  1. Extjs MVC学习随笔01
  2. JavaScript WEB页面调试
  3. Wind7系统下 wifi设置
  4. Struts2 - 常用的constant总结
  5. Vmware 虚拟的Linux系统如何与宿主主机共享上网
  6. storyboard和xib的区别
  7. 移动UI
  8. nacos作为配置中心
  9. ARE 212 - Problem Set 5
  10. python数据类型之集合类型
  11. BZOJ1058: [ZJOI2007]报表统计(set)
  12. lua 的语法糖
  13. 『Numpy』内存分析_numpy.dtype解析内存数据
  14. python导包路径的修改
  15. python中 Lambda,Map,Filter,Itertools,Generator高级函数的用法
  16. css3图片旋转
  17. dirname(__FILE__) === __DIR__
  18. 如何通过掩码计算可用的IP数量
  19. 前端网页进度Loading
  20. [BZOJ1001](BeiJingOI 2006)狼抓兔子

热门文章

  1. ueditor默认字体和字号修改
  2. UEditor 百度富文本编辑器 .Net实例
  3. Windows静态库和动态库的创建和使用
  4. 通过JavaScript创建Qml对象
  5. sqlserver中循环生成记录
  6. Linux账号管理和ACL
  7. slider.js 滑动和点击事件在firefox下报错 event is not defined
  8. 学习Road map Part 04 自动驾驶、SLAM、ROS、树莓派
  9. 使用jMeter构造逻辑上有依赖关系的一系列并发请求
  10. UML用例图间关系说明