整理收藏一份PHP高级工程师的笔试题
PHP面试题大全 IT公司面试手册网
探究PHP的函数运行机制
解决问题90%靠经验,5%靠技术,剩下5%靠运气。
PHP http与https之间互转
在php中如何操作session
session_start(); //使用该函数打开session功能
$_SESSION //使用预定义全局变量操作数据
unset($_SESSION['key']) //销毁一个session的值
在session机制中,也采用了这样的一个唯一的session_id来标示不同的用户,不同的是:浏览器每次请求都会带上由服务器为它生成的session_id。
默认的session是保存在files中,即以文件的方式保存session数据。
如果要做服务器的lvs,即多台server的话,我们一般使用memcached的方式session,否则会导致一些请求找不到session。
一个简单的memcache配置:
如果要做服务器的lvs,即多台server的话,我们一般使用memcached的方式session,否则会导致一些请求找不到session。
一个简单的memcache配置:
session.save_handler = memcache
session.save_path = "tcp://10.28.41.84:10001"
实例问题
现有系统A, B; 假设A系统是可以独立运行的web系统,即可以和浏览器直接处理session, B系统是基于mobile的,需要调用A系统的功能接口,在保持A不改变的情况下,即登陆验证,session存储都不变的情况下,B系统能处理前端用户的请求。
这里提供的方案是使用PHP实现,在用户登陆成功后,将保存的session的session-id返回给B系统,然后B系统每次请求其他 接口都带session_id。A系统在session_start前加上session_id(session_id);这样B系统就能安全的调用A。
你应该去了解的十个PHP框架
记录一个实用的PHP缓存类
学习PHP到底要学习哪些东西?
语法 工具 API 测试 管理 排错 思想 规范
两段简单的PHP防SQL注入代码
学习PHP的一般过程:
- 熟悉HTML/CSS/JS等网页基本元素,完成阶段可自行制作完整的网页,对元素属性达到熟悉程度
- 理解动态语言的概念,运做机制,熟悉PHP语法
- 学习如何将PHP与HTML结合起来完成简单动态页面
- 接触MYSQL,开始设计数据库程序
- 不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,以及模板
- 完成一个功能齐全的动态站点
整理了一份比较全面的PHP开发编码规范
CodeIgniter PHP 开发规范
安全的PHP代码编写准则
<?php $myUsername = cleanInput($_POST['username']); //clean! $arrayUsers = array($myUsername, 'tom', 'tommy'); //clean! define("GREETING", 'hello there' . $myUsername); //clean! function cleanInput($input){ $clean = strtolower($input); $clean = preg_replace("/[^a-z]/", "", $clean); $clean = substr($clean,0,12); return $clean; } ?>
数据库 畸形密码
mysql_real_escape_string
要记住基本规则,不要信任用户输入。 纵深防御
长度和正则表达式
缓冲区溢出攻击
跨站点脚本攻击 strip_tags() 函数,这个函数可以清除任何包围在 HTML 标记中的内容
浏览器内的数据操纵 Tamper Data(一个 Mozilla 插件),可以很容易地操纵包含许多隐藏文本字段的简单表单,从而向 PHP 和 MySQL 发送指令。
远程表单提交 if
(
$_POST
[
'token'
] ==
$_SESSION
[
'token'
])