2016年10月31日星期一

PHP中的HTML5应用 将Canvas图像保存到服务器


在几年前HTML5还没有流行的时候,我们的项目经理曾经向我提出这样一个需求:让项目评审专家们在评审结束时用笔在平板电脑上进行电子签名。这需要我们评审软件里提供这样一个功能:打开浏览器,登录,进入评审意见页,页面最下部有个方块区域,用户在这里用触摸笔进行签名,然后这个签名将会保持的服务器上。

这样的一个需求在当时是让我大费周折,但如今想起来,如果用html5的canvas实现,真是太简单了。在《将画布(canvas)图像保存成本地图片的方法》这篇文章里就有一个只用了几行代码就实现了的画板功能——很简单,虽然有一个小bug——但完全能当作签名用。

我之前说了很多如何将canvas图像保存成图片并下载的方法,但这些方法都是将图片保存到客户端,而我们的签名需求是需要将canvas的内容保存到服务器端,如何实现?

其实很简单,看完下面的这段PHP代码,相信你也会觉得很简单。


// requires php5
define('UPLOAD_DIR', 'images/');
$img = $_POST['img'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = UPLOAD_DIR . uniqid() . '.png';
$success = file_put_contents($file, $data);
print $success ? $file : 'Unable to save the file.';
?>



从网页上传到服务器端的图片是base64_encode转码过的Data URL格式,数据在服务器端用base64_decode进行解码,保存成文件。我在上篇文章中提到的那个火狐浏览器的微博图文分享工具,在服务器端就是用到了这段代码。

有一天你也会需要用到它的,很有用的代码,收藏一下吧!

2016年10月26日星期三

解决windows开机后硬盘使用率一直接近100%


我的surface最近频繁蓝屏死机让我十分恼火。经过仔细观察进程,我发现svchost.exe的硬盘使用率很高,会导致硬盘使用率接近100%。

于是我的解决方法便是禁用超级预读取(superfetch)。

具体禁用方法:去服务里禁用superfetch,并停用。

重启电脑后,硬盘使用率立马恢复正常!




superfetch功能对我来说应该没什么鸟用,而且我是SSD硬盘,速度速度本身就很快,我不需要什么垃圾超级预读取功能…

 

占用100%

 

 

 

2016年10月20日星期四

获取台北教育网EDU邮箱,并申请office 365激活office2016套件,加入 Dreamspark获取正版系统,获得onedrive 1T空间


本次操作可以获取台北教育网EDU邮箱,并申请office 365激活office2016套件,加入Dreamspark获取正版系统,获得onedrive 1T空间。请低调使用低调传播!

进入台北市教育入口网,传送门



红色箭头处点击点加入会员。



拖到页面最下方点击同意按钮。



身份证字号去这个网站随便搜个台湾身份证字号填写,学校就随便选择个学校,外部邮箱是用来验证的,测试gmail是没有问题,然后其他得选项如用户名,密码,职业什么得随便填写就好,填写完毕后点击确认,网站就会发送验证邮件到你填写的外部邮箱。注意:经多人验证gmail和微软outlook邮箱收信几率非常高,别的邮箱好像根本收不到。



验证好账号后,就可以去台北教育入口网登陆账号,登陆后就会看到明显的通邮箱得选项,按照其要求开通即可,开通完毕后进入我的邮箱,记好你的邮箱地址。



到了这一步,你台北edu教育邮箱就可以正常使用了~

接下来用注册好的教育邮箱免费申请office365学生版,传送门



输入你的EDU邮箱

填写上注册好的教育邮箱,点击get started,然后微软会给你所填写的教育邮件发送验证邮件。

登陆到教育邮箱,查看微软发来得邮件,点击”是的,这就是我”验证邮箱。验证成功后,微软会让你填写一下账号信息,填写完毕后,微软就会自动开始设置你的账号,等待设置完毕后打开office.com进行登陆即可来到你的office365学生版界面~



免费的365office已经撸到手。

下面访问www.dreamspark.com这个网站,以前叫dreamspark现在叫imagine。

用自己的邮箱注册一个账户,微软邮箱直接登录





点击account进入你的个人信息



点击右侧的Please verify your student status



选择school email address 学校邮箱验证。

school email address里面就填入你刚申请的台湾教育邮箱。

然后转到你的教育邮箱打开微软发送来的邮件,点击链接进行验证。成功后你就可以进入downloads选项下载和使用教育类软件和系统,获取正版系统密钥。



2016年10月19日星期三

另一种利用Nginxi反向代理来简单镜像 HTTP(S)网站 的方法--dou-bi.co


安装Nginx


安装Nginx有三种方式:编译、apt-get、直接安装lnmp一键包

在这里就介绍后两种吧,虽然lnmp一键包也是属于编译。

LNMP一键包


当然,lnmp一键包我还是推荐 军哥的LNMP一键包

  1. LNMP一键包安装教程

  2. 添加虚拟主机


这种方法适合 懒得折腾的人,虽然因为安装编译的东西很多,时间一般都在半小时以上,如果不急的话,可以使用这个。毕竟这个安装完了,方便管理,而且也不仅仅拿来做镜像用,还可以放其他网站。

当然,如果你仅仅拿来做镜像,没打算放网站,那就是用下面的方法。

apt-get install nginx


这种直接从 apt-get 安装的方式,优点是 比编译安装速度快多了,一般不到两分钟就完成了。

系统要求:Debian 7
echo "deb http://packages.dotdeb.org wheezy all" >> /etc/apt/sources.list
apt-get update
apt-get install nginx
# 安装会提示输入两次 Y 来继续安装。

安装完毕之后输入nginx -v,查看nginx的版本,确定是否安装完成。

修改配置文件


以下教程 域名以 go.doubi.date 为例,被镜像网站以 www.baidu.com 为例

LNMP一键包


如果,你暂时不需要其他的组件(Mysql php)那就先把他们关闭,只开启Nginx。
lnmp stop
lnmp nginx start

根据这个教程 添加虚拟主机 后,就根据下面的虚拟主机配置文件位置,找到你的配置文件,然后修改。
/usr/local/nginx/conf/vhost/go.doubi.date.conf
# 自行套用为你的域名

按照下面的示例修改完毕后就重启Nginx:
lnmp nginx restart

然后访问你的域名看一看是否成功镜像,需要注意的一点是,如果被镜像的网站设置了防盗链,那么静态文件(js/css/图片)可能无法显示,这就没办法了。

apt-get install nginx


找到下面这个文件,然后修改。
/etc/nginx/sites-available/default

按照下面的示例修改完毕后就重启Nginx:
service nginx restart

然后访问你的域名看一看是否成功镜像,需要注意的一点是,如果被镜像的网站设置了防盗链,那么静态文件(js/css/图片)可能无法显示,这就没办法了。

HTTP 示例


以下示例是以 go.doubi.date 镜像 www.baidu.com 为例。自行替换 其中的参数:
server_name 你的域名;

sub_filter 欲被镜像的域名 你的域名;

proxy_set_header Referer http://欲被镜像的域名

proxy_set_header Host 欲被镜像的域名

proxy_pass http://欲被镜像的域名

第二段是 屏蔽搜索引擎收录,比如镜像自己的网站,如果不屏蔽会导致 收录流失。
server
{
listen 80;
server_name go.doubi.date;

if ($http_user_agent ~* (baiduspider|360spider|haosouspider|googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|YoudaoBot|robozilla|msnbot|MJ12bot|NHN|Twiceler)) {
return 403;
}

location / {
sub_filter www.baidu.com go.doubi.date;
sub_filter_once off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Referer http://www.baidu.com
proxy_set_header Host www.baidu.com
proxy_pass http://www.baidu.com
proxy_set_header Accept-Encoding "";
}
}

HTTPS 示例


当你要镜像的网站不开放 HTTP或者强制HTTPS 的时候,你就需要加上 SSL 来转成 HTTPS 了。

假设SSL证书文件位置是:/root/ssl.crt

假设SSL密匙文件位置是:/root/ssl.key

第二段的 301 代码是,强制走HTTPS,如果不需要可以去掉。

第三段是 屏蔽搜索引擎收录,比如镜像自己的网站,如果不屏蔽会导致 收录流失。

同时下面这两个选项的记得把 http:// 改成 https:// 。
proxy_set_header Referer https://www.baidu.com
proxy_pass https://www.baidu.com

server
{
listen 80;
listen 443 ssl;
ssl on;
ssl_certificate /root/ssl.crt;
ssl_certificate_key /root/ssl.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
server_name go.doubi.date;

if ( $scheme = http ){
return 301 https://$server_name$request_uri;
}

if ($http_user_agent ~* (baiduspider|360spider|haosouspider|googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|YoudaoBot|robozilla|msnbot|MJ12bot|NHN|Twiceler)) {
return 403;
}

location / {
sub_filter www.baidu.com go.doubi.date;
sub_filter_once off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Referer https://www.baidu.com
proxy_set_header Host www.baidu.com
proxy_pass https://www.baidu.com
proxy_set_header Accept-Encoding "";
}
}

2016年10月11日星期二

phpMyAdmin 的根文件夹下创建 文档中所述的网站服务器可以写入的 config 文件 夹


QQ截图20161011170552

在数据库建好之后,进行/phpmyadmin/setup时,出现了”phpMyAdmin 的根文件夹下创建 文档中所述的网站服务器可以写入的 config 文件夹。“的提示,从官方网站上我找到了
Instead of manually editing config.inc.php, you can use the Setup Script. First you must manually create a folder config in the phpMyAdmin directory. This is a security measure. On a Linux/Unix system you can use the following commands:

cd phpMyAdmin
mkdir config     //create directory for saving
chmod o+rw config //give it world writable permissions

如果要修改一个现有的配置文件,先将其复制到目录中:
cp config.inc.php config/      // copy current configuration for editing
chmod o+w config/config.inc.php // give it world writable permissions

这段意思就是把下载的config.inc.php文件放到新建的phpmyadim中的config文件中,并用设置文件夹的权限和文件的权限,上面那个命令是 Linux/Unix 下的,在其它系统下:
On other platforms, simply create the folder and ensure that your web server has read and write access to it. 1.26 I just installed phpMyAdmin in my document root of IIS but I get the error “No input file specified” when trying to run phpMyAdmin. can help with this.

centos 7安装 l4d2服务端与插件支持 -- by Sendya




在centos7上搭建l4d2服务器,我是根据视频记录下来的,中间可能有错误或者其他问题,请查看视频哟~~~~



一、服务端安装


http://www.bilibili.com/video/av3907517/index_1.html

如果无法播放请点击回跳源网站播放





1.安装依赖
yum install tmux mailx postfix curl glibc.i686 libstdc++ libstdc++.i686

2.为了安全起见,添加l4d2用户
adduser l4d2server
passwd l4d2server        //设置l4d2server的用户密码
su - l4d2server   //切换到l4d2server用户
pwd        //测试是否在l4d2server用户下

显示/home/l4d2server就表示在l4d2server用户下

3.下载安装脚本
wget http://gameservermanagers.com/dl/l4d2server
ls        //查看文件
chmod +x l4d2server        //给l4d2server添加权限
./l4d2server        //运行l4d2server
./l4d2server install        //安装l4d2server,安装steamcmd,下载游戏数据

下载完之后配置服务器名称和密码

4.启动l4d2服务器
./l4d2server start        //启动l4d2server服务器
./l4d2server console        //进入l4d2控制台
status                //查看运行状态

在控制台看到connection to steam servers.表示服务端启动成功。

 

二、插件支持


http://www.bilibili.com/video/av3907517/index_2.html

如果无法播放请点击回跳源网站播放





cd serverfiles/left4dead2/          //进入目录
rm -rf addons/                //删除自带的addons
cd ~                //进入主目录
ls                //查看目录
mkdir sourceMod                //新建文件夹
cd sourceMod                //进入文件夹
ls                //查看目录
wget http://www.sourcemod.net/smdrop/1.7/sourcemod-1.7.3-git5297-linux.tar.gz  //下载
wget http://cdn.probablyaserver.com/sourcemod/mmsource-1.10.6-linux.tar.gz        //下载
ls        //查看目录
tar zxvf sourcemod-1.7.3-git5297-linux.tar.gz                //解压文件
ls        //查看目录
mv addons ~/serverfiles/left4dead2/        //移动文件
cd cfg                //进入目录
ls                //查看目录
mv sourcemod ~/serverfiles/left4dead2/cfg/                //移动文件
rm -rf /home/l4d2server/serverfiles/left4dead2/cfg/courcemod        //如果提示mv: cannot move 'sourcemod'to '/home/l4d2server/serverfiles/left4dead2/cfg/courcemod';File exosts时运行
mv sourcemod ~/serverfiles/left4dead2/cfg/        //重新移动
cd ../                //进入主目录
ls        //查看目录
rm -rf cfg        //删除文件
ls        //查看目录
tar zxvf mmsource-1.10.6-linux.tar.gz        //解压文件
ls         //查看目录
cd addons/                //进入目录
ls                //查看目录
mv -i metamod ~/serverfiles/left4dead2/addons/        //这一步可能会失败,不是很重要
ls                //查看目录
mv metamod.vdf ~/serverfiles/left4dead2/addons/        //移动文件
cd metamod/        //进入目录
cd ~/serverfiles/left4dead2/addons/metamod/        //进入目录
ls        //查看目录
~/sourceMod/
ls
pwd
cd ~/sourceMod/                //进入目录
ls        //查看文件
rm -rf addons/        //删除文件
tar zxvf mmsource-1.10.6-linux.tar.gz        /解压文件
cd addons/metamod/        //进入目录
ls        //查看目录
mv * ~/serverfiles/left4dead2/addons/metamod/        //移动文件
cd ~/serverfiles/left4dead2/addons/metamod/        //进入目录
ls        //查看目录
vim sourcemod.vdf        //查看/编辑文件
vim metaplugins.ini        //查看/编辑文件
cd ../        //进入主目录
ls        //查看目录
wget http://l4d.mloli.com/download/l4dtoolz.zip        //下载文件无法下载就去https://forums.alliedmods.net/attachment.php?attachmentid=122230&d=1373147952
unzip l4dtoolz.zip        //解压文件
rm -rf l4dtoolz.zip        //删除文件
cd metamod/        //进入目录
wget http://l4d.mloli.com/download/l4dtooz.vdf
ls
vim l4dtoolz.vdf
cd ../
cd ~
ls
./l4d2server start
./l4d2server console
status                //查看运行状态
meta list        //查看插件列表
ctrl+d退出控制台
ls
cd serverfiles/left4dead2/addons/sourcemod/
ls
cd extensions/
ls
wget http://l4d.mloli.com/download/l4d2_fixbug.zip
unzip l4d2_fixbug.zip
ls
rm -rf l4d2_fixbug.zip
ls
cd ../
ls
cd gamedata/
ls
wget http://l4d.mloli.com/download/l4d2_fixbug_cfg.zip
unzip l4d2_fixbug_cfg.zip
ls
rm -rf l4d2_fixbug_cfg.zip
ls
cd ~
ls
chmod -R 777 serverfiles/
ls
./led2server start
./l4d2server console

经过测试,发现插件部分已经不能用了,很多插件往网站上都没有,而且有的网站都打不开了。

2016年10月9日星期日

极路由官方ss插件安装和使用教程


当前极路由可以安装ss插件,并且不需要root权限。

ss插件安装方法


0.卸载掉ssh智能管道等一切代理插件,避免发生冲突。
1.用网页浏览器访问极路由后台,进入云平台页面。
2.进入“手机远程管理”插件页面。
3.到浏览器的地址栏,把“sid=13”中的数字13改为其他数字,具体数字需私问相关人猿(请搜索之前的文章)
4.然后按回车即可安装。


ss帐号填写方法


服务器地址,即server
服务器端口,即server_port
服务器密码,即password
服务器加密方式,即method
开启UDP代理,选否,游戏联机用途也要选否,否则NAT类型3!
动态地址区间,默认即可
代理模式,建议白名单模式,每种模式的详细说明请看下文
域名列表,非常重要,看下面的具体说明!



域名列表




关于域名列表


默认域名列表是空的(或不全),是不能用的。这里推荐一个比较不错的域名列表,你复制进去,然后点“应用”,想要及时生效则需要重启浏览器,文章结尾有文件。

关于代理模式


A.普通上网、看视频用途,需要使用“白名单模式”。在这个模式下,只有出现在域名列表里面的网站才会走ss网络。那么域名列表是什么样的,怎么写?

B.游戏联机加速用途,需要使用“白名单+国外IP模式”。在这个模式下,域名列表里的网站以及所有国外网站和国外流量,全部走ss网络。值得警惕的是,由于迅雷、BT、PT、磁力、旋风等P2P下载工具会产生国外的P2P流量,会走ss网络,特别容易出现盗版下载的问题,所以 严 禁 在这个模式下开这些下载。

C.“全局模式”的话,会造成国内网站的访问速度非常卡顿,几乎没有用处,因此不建议正常人使用。

下载域名列表内容


[dltable file="gfwlist.zip" size="18.6KB"]点击下载[/dltable]