PHP 博客文集 1 Veda原型 成功,唯有积累,没有奇迹 整理收藏一份PHP高级工程师的笔试题 探究PHP的函数运行机制 PHP http与https之间互转 你应该去了解的十个PHP框架 记录一个实用的PHP缓存类 学习PHP到底要学习哪些东西? 两段简单的PHP防SQL注入代码 整理了一份比较全面的PHP开发编码规范 安全的PHP代码编写准则

PHP面试题大全 IT公司面试手册网

 一个简单的PHP缓存思路的实现

探究PHP的函数运行机制

从两种handler看PHP的session机制

解决问题90%靠经验,5%靠技术,剩下5%靠运气。 

PHP http与https之间互转

 PHP session 的运行流程

在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日期格式转时间戳

记录一个实用的PHP缓存类

 关于PHP大型网站应用的框架使用问题

学习PHP到底要学习哪些东西?

语法 工具 API 测试 管理 排错 思想 规范

两段简单的PHP防SQL注入代码

 PHP面向对象之旅:简单工厂模式

新手如何开始学习PHP

学习PHP的一般过程:

  1. 熟悉HTML/CSS/JS等网页基本元素,完成阶段可自行制作完整的网页,对元素属性达到熟悉程度
  2. 理解动态语言的概念,运做机制,熟悉PHP语法
  3. 学习如何将PHP与HTML结合起来完成简单动态页面
  4. 接触MYSQL,开始设计数据库程序
  5. 不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,以及模板
  6. 完成一个功能齐全的动态站点

整理了一份比较全面的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'])