swfupload的session问题
swupload是个一个客户端文件上传工具
让这个上传flash嵌入在网页里面可以使用一些非常棒的特性
官网在这里http://code.google.com/p/swfupload/
最近使用的时候发生一个问题
文件上传的session和页面session不同步
demo里面有提到设置post_params
让swfupload吧页面的session_id作为参数传递
但是实际使用的时候依然有问题
具体表现就是在文件上传处理页面设置的session无法在当前页面得到
使用fidder抓包后发现原因是swfupload里面的cookie上也带有一个sessid
POST字段里面才是实际需要的sessid
因为swfupload使用的是socket方式 所以和我们[......]
pafetion1.4版本发布
近期很多同学反映接口不能使用.
然后改动了下接口
并把以前不规范的cookie获取方式修改了
直接使用
下载地址
调用例子
1.发送消息
http://lab.3haku.net/f/do?phone=xxxxxx&pwd=xxx&to=xxxx,xxxx,xxxx&msg=xxxx
2.添加好友
http://lab.3haku.net/f/do?phone=xxxxxx&pwd=xxx&add=xxxx,xxxx,xxxx
说明:
phone 发送者手机号码 (-v1)
pwd 发送者飞信密码[......]
关于一致性哈希
1. 一致性哈希
2.1 基本场景
比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的 hash 值,然后均匀的映射到到 N 个 cache ;
hash(object)%N
一切都运行正常,再考虑如下的两种情况;
1 一个 cache 服务器 m down 掉了(在实际应用中必须要考虑这种情况),这样所有映射到 cache m 的对象都会失效,怎么办,需要把 cache m 从 cache 中移除,这时候 cache 是 N-1 台,映射公式变成了 hash(object)%(N-1) ;
2 由于访问加重,需要添加 cache ,这时候 ca[......]
phpcurl模块
1 概述
PHP支持的由Daniel Stenberg创建的libcurl库允许你与各种的服务器使用各种类型的协议进行连接和通讯。
目前支持http、https、ftp、gopher、telnet、dict、file和ldap协议。libcurl同时也支持HTTPS认证、HTTP POST、HTTP PUT、 FTP 上传(这个也能通过PHP的FTP扩展完成)、HTTP 基于表单的上传、代理、cookies和用户名+密码的认证。
为什么不用socket?
curl,是client url的简写,用来模拟浏览器的功能,浏览器能做的它基本都能实现,登陆,上传文件,下载...
socket可以理解为通信链的句柄,比CURL更底层一点
某些时候我们可能更需要简单模拟[......]
apache日志分离组件cronolog
1.1 概述
apache默认的日志都会记录到一个文件内
如果访问量过多,时间过长,将导致日志堆积,文件变大,影响apache的性能
cronolog是一个用于日志切分的软件,使用管道把输入定位到其他路径保存
1.2 安装
wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
tar xcvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
sudo ./configure -–prefix=%INSTALL_DIR%
sudo make install
1.3 使用
修改apache的日志记录
CustomLog "|[......]
一段代码说优化[php]
这是原始代码
- <?
- echo "Hello ".$_GET['name']."!";
- ?>
这段代码是大体没有问题的,但是存在一些细节
1. 开头使用<? 没有使用<?php 不规范如果php.ini里面没有开启的话 此段代码将无法执行
2. $_GET['name']没有做前置判断是否存在。如果url里面没有这个参数。用户进来很有可能看到报警信息,不友好
3. "(双引号)和'(单引号)的区别是单引号不会对里面的内容进行匹配转义。
比如
- $a='123';
- echo 'a$a';
会输出a$a而非a123。
在上面的代码中不需要进行这种[......]
ARP攻击和防御
去实习前还是得找点事情做.于是决定写下这篇文章.
一.ARP概述
1) IP数据包常通过以太网发送。但是以太网设备并不识别32位IP地址:它们是以48位以太网地址(就是所谓的MAC)传输
以太网数据包的。因此,必须把IP目的地址转换成以太网网目的地址。在这两种地址之间存在着某种静态的或算法的映
射,常常需要查看一张表。地址解析协议(Address Resolution Protocol,ARP)就是用来确定这些映象的协议
2) ARP工作时,会向整个子网广播信息,ARP发送分两步。第一步request,第二步reply。第一步的时候,需要查询的主
机会询问整个子网,谁有我需要的ip?如果有主机拥有这个ip,目的主机就发送一个回应消息,并包含自己的MAC地址[......]
可以去实习了!
经过四天的面试后,终于可以去实习了!
面试的最大感觉就是..
得专一..哎. 很多基础性的东西答不上来..
基础需重视! 就如之前某说的 基础决定了你能走多远
感谢所有朋友,同学,面试官.
中途还得回来一下.
一直努力吧~
去之前还得先把学校这个选题系统写完..还差一点.
写完之后还是开源..
线程安全和一条sql语句引起的思考(二)
接着上次的文章讨论php线程安全
当然不仅仅针对php
范大牛和我争了一下..不过说来问题是确实存在的
那怎么解决呢
其实解决方式有很多种
1. 把运算放在php里面
代码如下:
//如果大于0 就减100 if($money>0){ $money -=100; $res=mysql_query("UPDATE `test` SET `k` = $money where id=1"); echo "减了!"; }else{ echo "没做操作"; } 结果:这样虽然会做重复的sql更新操作 但是结果都是正确的值
2.加上限定where
3.使用事务来控制这个地方我想到其实就是传说中的事务控制但是[......]
线程安全和一条sql语句引起的思考(一)
这篇文章发布在php分类
因为主要是讨论php的线程安全问题,但是如下遇到的问题在其他的编程环境中也会遇到
首先您肯定会问php官网不是发布过么? 分为线程安全版本和非安全版本
但是既然是线程安全,那言下之意每个进程间相互应该不受干扰.
难道是指所有的进程都需要排队?一个一个的执行
于是抱着问题进行了如下的尝试
<? $host="127.0.0.1"; $user="root"; $passwd="123"; mysql_connect($host,$user,$passwd); mysql_select_db("test"); mysql_query("set names utf8"); //查询是否是大于0的 $r[......]