1、xss漏洞的修复方式有哪些?
过滤所有输入内容。对参数使用白名单过滤,不允许输入的内容显示到浏览器,禁止在js标签内输出用户输入的内容。
2、php什么函数,可以把错误转换为异常处理?
set_error_handler()可指定一个回调函数,错误发生时,会自动通过指定的回调函数处理。在回调函数中抛出新的异常即可。
3、php sapi工作魔术常用的是一种?
php-fpm
4、每周五 01:00~02:00每5分钟执行一次的crontab指令如何编写?
/5 1-2 * * 5 /bin/bash/home/test/test.sh
5、安全对一套程序来说至关重要,请说说在开发中应该注意哪些安全机制?
1) 防远程提交
2) 防SQL注入,对特殊代码进行过滤
3) 防止注册机灌水,使用验证码;
6、PHP处理数组的常用函数?(重点看函数的‘参数’和‘返回值’)
①array()
创建数组
②count()
返回数组中元素的数目
③array_push()
将一个或多个元素插入数组的末尾(入栈)
④array_column()
返回输入数组中某个单一列的值
⑤array_combine()
通过合并两个数组来创建一个新数组
⑥array_reverse()
以相反的顺序返回数组
⑦array_unique()
删除数组中的重复值
⑧in_array()
检查数组中是否存在指定的值
7、PHP处理字符串的常用函数?(重点看函数的‘参数’和‘返回值’)
trim()移除字符串两侧的空白字符和其他字符
substr_replace()把字符串的一部分替换为另一个字符串
substr_count()计算子串在字符串中出现的次数
substr()返回字符串的一部分
strtolower()把字符串转换为小写字母
strtoupper()把字符串转换为大写字母
strtr()转换字符串中特定的字符
strrchr()查找字符串在另一个字符串中最后一次出现
strstr()查找字符串在另一字符串中的第一次出现(对大小写敏感)
strrev()
反转字符串
strlen()
返回字符串的长度
str_replace()
替换字符串中的一些字符(对大小写敏感)
print()
输出一个或多个字符串
explode()
把字符串打散为数组
is_string()
检测变量是否是字符串
strip_tags()
从一个字符串中去除HTML标签
mb_substr()
用来截中文与英文的函数
8、PHP处理时间的常用函数?(重点看函数的‘参数’和‘返回值’)
date_default_timezone_get()
返回默认时区。
date_default_timezone_set()
设置默认时区。
date()
格式化本地时间/日期。
getdate()
返回日期/时间信息。
gettimeofday()
返回当前时间信息。
microtime()
返回当前时间的微秒数。
mktime()
返回一个日期的 Unix时间戳。
strtotime()
将任何英文文本的日期或时间描述解析为 Unix时间戳。
time()
返回当前时间的 Unix时间戳。
9、PHP操作文件的常用函数?(重点看函数的‘参数’和‘返回值’)
③ file_get_contents () 将整个文件读入一个字符串
10、PHP操作目录(文件夹)的常用函数?(重点看函数的‘参数’和‘返回值’)
③ readdir() 获取打开目录中的一条子目录/文件名称
11、你用什么方法检查PHP脚本的执行效率(通常是脚本执行时间)和数据库SQL的效率(通常是数据库Query时间),并定位和分析脚本执行和数据库查询的瓶颈所在?
PHP脚本的执行效率
a、代码脚本里计时;
b、xdebug统计函数执行次数和具体时间进行分析,最好使用工具winCacheGrind分析;
c、在线系统用strace跟踪相关进程的具体系统调用。
数据库SQL的效率
a、sql的explain(mysql),启用slow query log记录慢查询;
b、通常还要看数据库设计是否合理,需求是否合理等。