本博客文章已转移到独立博客,请点击做最好的三三查看全文。
3
24
2013
0

更换到Typecho

嘛。不多说了。

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: 未分类 | Tags:
3
17
2013
5

我从未想过Google Reader会被关闭

虽然我不用Google Reader,但是我明白这是一个不可多得的好工具。

从QQ邮箱订阅中看到古奥连续PO出一大堆挽回的GR的新闻,小众,月光,我所订阅的一切科技博客无不在重复这个主题。

Google Reader都要被关闭了。这个事实大概是目前为止Google关闭的服务中最重量的一个吧。

我从未想过Google Reader会被关闭。

我从来都觉得,GR和Gmail,甚至Google Search本体一样重要。因此,Google关闭它完全出乎我的意料。

当然,这好像提醒了我什么。

嗯,对。任何一个互联网服务——甚至线下的服务,无论是收费抑或免费,终究有走向终结的那一天。服务不贵,数据最贵。放在Google,或者放在其它什么地方的数据终究没有放在自己硬盘上来得放心。

之前,我的观念并不是这样子。我觉得,我的文章,我的思想和我的数据的全部,都应该放到大公司的托管下——这样,我的思想才会得以保存起来,在我无暇管理它之后也是那样。但是,我从未想过,这些托管的服务本身都是不那么靠谱的。

嘛。大约从现在开始我会慢慢的把博客搬去某个地方的Typecho吧。嗯,基于思想的传承的观点,我决定还是把博文同步到某些BSP上去。

Google Reader已死。

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: WEB | Tags: google Google Reader
3
3
2013
7

Evernote账户信息泄漏 - 谁动了我的帐号

今天收到一封来自Evernote的邮件,其中部分内容如下(原文截图):

亲爱的Evernote International用户,

Evernote运营和安全团队最近发现并成功阻止了一项针对Evernote网络的可疑活动,该活动可能试图有组织的接入Evernote服务的安全区 域。为预防未来的潜在数据隐患,我们决定请求所有用户进行一次密码重置。请阅读以下内容了解详情和步骤。

通过一次全面仔细的检查,我们未发现任何迹象表明你保存在Evernote中的任何内容被访问过、修改过或丢失。Evernote高级帐户的付款信息和Evernote企业帐户也没有任何被访问过的迹象。

但是检查显示,参与这次可疑活动的人员能够访问到Evernote的用户信息,包括与Evernote帐户关联的用户名、邮箱地址和加密过后的密码密文。 尽管密码密文有可能被访问,但请特别注意,保存在Evernote中的所有帐户密码密文均采用不可逆的单向加密算法(one-way encryption)生成。(用专业术语表示,即所有密码密文都是经过哈希算法处理并随机生成(hashed and salted))

从CSDN密码泄漏门,到Twitter用户密码被重置,直到这次Evernote也不幸中枪。一次又一次的针对互联网帐号的攻击事件频频发生,各大服务运营商中枪,就连推特、Evernote这样的服务也在所难免。难道我们的互联网帐号信息已经不再安全了吗?

现阶段,主流的密码加密方式即上文中提到的“hashed and salted”(哈希加盐)法。这种方法由于是单向加密,而且对密码加入了随机字符串salt,安全系数大大提高。但随着硬件的发展,要破解哈希加盐也不是很困难的事情。攻击者通过构建大型彩虹表,有一定几率来破解经过单向加密的密文。

但需要提到的是,对密码进行加密存储是用户信息安全的「最后一根稻草」。因为破解加密存储是在黑客拿到用户数据库后才可以进行的操作,假若用户数据库足够安全,只要数据库不被泄漏,那么即便是明文存储也不会有太大的风险。这并不是说被hacker攻击的twitter和Evernote做的不够好,因为在这么多年来,在数千万甚至数亿、十亿数量级的攻击下,这种事情也只发生过少数的几次。

话又说回来,最近这种事情发生的几率正在逐步攀升。不知道是现在的hacker技术变得更加高明了呢,还是现在的firewall已经无法阻止hacker前进的脚步了。

那么,作为个人用户,我们要怎样从个人角度来防止这些事件的发生呢?只有降低用户资料的价值,才能从根本上减少事件发生后的损失。作为用户,你的资料的价值是什么?对于一个网络服务来说,你的资料意味着你的用户名、密码和电子邮件地址。如果你所有的网上服务包括网银、电商、电邮、公司办公系统都是用的同一个密码,你的资料的价值无疑会很高;如果所有的服务使用不同的密码组合,那么,资料的价值就会降低到仅有的被攻击的服务那一个帐号。所以,最终的防范秘诀就是:使用密码管理方案。

密码管理方案有很多种,比如花密,LastPass都是很好的选择,这里要介绍的不是那些记录密码的工具,或者像花密那样的base+salt的方式——毕竟有时候需要离开他们——而是一种便于记忆的管理的方案。我称之为分级管理模式。

一个完善的密码系统,应该包括至少三个级别:

低级密码,即「用一次就丢」的密码。这样的密码最好还搭配一个另外的用户名,以满足各种「一次性」的帐号需求。这种密码只需要有一个,然后在各个小网站、不确定安全性的网站和用一次就丢的网站使用。

高级密码,即「相当重要」的密码。这类密码不要和你已有的密码雷同,而是采用全新的组合,最好是包括大小写字母符号数字等,用于独立的重要服务,例如电邮、IM工具(QQ、MSN等)和财务(电商、网银等)。

最多最常用的密码,也就是「不是相当重要也不是用一次就丢」的中级密码。这样的密码是使用最为频繁、又有一定价值的。如果让所有的这类中级网站共用一个密码,也不是一个好的方法:黑客仍然可以通过获取其中一个来得到其它的。或许有人会想到一串固定字符加上网站的主域名,我只能说黑客也一眼就能看出来你的密码中有个域名从而破解。这里介绍一种思路,或许会对你的密码有帮助。

这种思路的灵感是从md5来的。md5是一种「摘要」算法,那么我们也可以将域名的所谓「摘要」放到密码中去。这么说还不明白的话,看一个简单的例子。比如对「Google」的域名,我们可以摘它的最后一位「e」,然后放到密码中的某一位。比如密码的基准是「BestWishesTo」,我把摘要字母放到最后一位并大写,也就是「BestWishesToE」,这样的话即使是得到密码的黑客也不会知道你其它网站的密码——除非它最后一位也是E。如果觉得还不够安全的话,可以继续摘录并进行适当的运算。比如摘「Google」的第一位「G」,在字母表上将他往后挪动3位变成「J」然后小写放到刚刚密码的最后面,加入「Google」这个单词的长度6放到第一位,成为「6BestWishesToEj」,这样还看得出来你的密码的本来面目吗?除非还有一个网站叫「Gxxxxe」,否则你的密码也不会被用到其它网站上去——这样的可能性不是很大,而且你会在一个叫做「Geoeoe」的网站用上你的中级密码吗?

这样一来,帐号丢失所损失的价值就减少了不少。当一个网站的密码被盗时,并不会牵连到太多的网站。

另外,加强自己的帐号保护意识,对电脑定期杀毒(其实有点扯,主要是防键盘记录类的木马神马的),并且在输入帐号的时候注意网站是否安全(检查网站域名、检查https等)就好了。这样一来,即使是某个网站被爆出使用明文存储密码而且数据库被大量泄漏的话,你也可以安然不动,笑看众人疯狂改密码了。(完,本文由oott123纯原创,转载请保留出处。)

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: WEB | Tags: 安全 密码 evernote
2
16
2013
30

bpcs_uploader - 百度网盘上传脚本

碎碎念先:寒假都快结束了,这才第二发……好吧,这个脚本纯属无聊的作品。之前不是有用脚本上传dropbox的嘛,我寻思着写个百度网盘的用用看。我那蹩脚的Prel和shell script根本没法完成这种略微有点技术含量的东西,所以完全使用php来写了。

项目主页:http://oott123.github.com/bpcs_uploader

嗯……只在cygwin和一台Centos上测试过,未在其它系统上通过测试。

系统要求

Linux (or cygwin) with php & curl installed.

使用方法

$ chmod +x bpcsuploader.php
$ ./bpcs
uploader.php

由于VPS上安装的php可能存在于各种地方,因此运行很可能不正常。请以使用which php得到你的php绝对路径,修改bpcs_uploader.php的头一句#!后的路径。
如果你的php是为了网站环境安装的,那么很有可能你会得到下面这条错误消息:

xxx() has been disabled for security reasons

那么说明你的环境由于安全原因禁止了部分函数的执行。请看FAQs的1。请使用那条长长的命令代替./bpcs_uploader.php。eg:php -d disable_functions -d safe_mode=Off -f bpcs_uploader.php quota

初始化

./bpcs_uploader.php init

敲下命令之后会进入初始化流程,这里分段详述设置方法。

Now start the initiation. If you have configured the uploader , it will be overwirte.
Continue? [y/N] y

确认初始化。如果之前有初始化过,那么以前的配置将会被覆盖。

Now you have to enter your baidu PSC app key . You should know that it needs a manual acting.
You can request for it via http://developer.baidu.com/dev#/create .
Make sure you have the PCS app key . if you haven\'t , you can use the demo key from Baidu.
It will exprire some time. who knows ? so the best way is to request for your own key.
There are a demo key from Baidu : L6g70tBRRIXLsY0Z3HwKqlRE So if you dont have the app secret , you have to re-init every month , for the access-token will expires every month.
App KEY [L6g70tBRRIXLsY0Z3HwKqlRE] :

第一步,输入App key。这里需要输入一个有PCS权限的API KEY,如果没有的话直接敲回车就好了,这里会默认使用百度提供的一个demo API KEY。不过,由于百度没有公开app secret,所以只能获取一个有效期为一个月的access token。如果有一个有PSC权限的API KEY和secret,那么就能获得一个有效期为10年的refresh token,以便长期使用。

App key has been setted to L6g70tBRRIXLsY0Z3HwKqlRE .
Now you have to enter your baidu PSC app secret. If you dont know the secret , keep it blank.
App SECRET [] :

第二步,输入App secret。如果输入了app secret,将会转到device code模式验证;或者直接输入回车使用oob模式验证。先直接回车:

Now you have to enter your app name. You can enter it later in the file [ /root/bpcsfiles/config/appname ].
* Why i have to enter app name ? see FAQs.
If your app name have Chinese characters , please swith your client to the UTF-8 mode.
Here are some chinese characters . Before you enter chinese characters , make sure you can read these characters.
如果你看到这里,说明你可以直接输入文字了。
If you cant read any chinese above , please press enter , and change it manually in the file [ /root/
bpcsfiles/config/appname ] .
If you have Enter the key [L6g70tBRRIXLsY0Z3HwKqlRE] (by default) , just press Enter.
App Name [pcstest_oauth] :

第三步,这里需要输入app name。详情见FAQ 2。因为是使用的默认的key,所以直接回车即可。

Now you have to get your oauth accesstoken by your own .
Here is a reference document .
http://developer.baidu.com/wiki/index.php?title=docs/pcs/guide/usage
example

A simple guide :
1.visit https://openapi.baidu.com/oauth/2.0/authorize?responsetype=token&clientid=L6g70tBRRIXLsY0Z3HwKqlRE&redirecturi=oob&scope=netdisk
in your broswer.
2.when it redirected to a html page , copy the url to the notepad.
3.get the access
token from it , paste it and press Enter.
access_token[] :

第四步,获取access token。在浏览器中打开上述URL( https://openapi.baidu.com/oauth/2.0/authorize?responsetype=token&clientid=L6g70tBRRIXLsY0Z3HwKqlRE&redirecturi=oob&scope=netdisk ),进行授权。
授权完毕后,将会跳到一个写着“百度 Oauth2.0”的页面。复制出其中的网页URL,找到access
token=和&之间的字符串,例如: 3.**05c2ea85d52c2***************a5.2592000.136***9032.3089166538-23**47
将其复制到shell中粘贴并回车。使用这种方式初始化的用户,需要每月重新初始化。

如果第三步输入app secret的时候没有留空,将会得到下面的消息:

Now open your broswer and visit https://openapi.baidu.com/device .
Copy or input 12abcxyz when it been asks.
After granted the access to the application , be back and press Enter key .

来到这里,打开浏览器访问 https://openapi.baidu.com/device ,在“请输入设备上显示的用户授权码:”文本框中输入上面显示的授权码(这里是12abcxyz),并点击继续。看到网页上显示“请返回设备继续操作!”后,返回ssh上按下回车后,即可继续。

curl -X GET -k -L "...."
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 62 0 62 0 0 40 0 --:--:-- 0:00:01 --:--:-- 235
Success . Your Storage Status : 0.06G/115.00G (0.05%)
Have fun !

你所看到的输出可能和这里给出的不一样,但是只要看到了存储空间的剩余量,和【Have fun !】提示,即说明成功初始化。

查询容量(配额)

./bpcs_uploader.php quota

结果:

Your Storage Status : 0.06G/115.00G (0.05%)

上传文件

./bpcs_uploader.php upload [path_local] [path_remote]
路径格式:foo/bar/file.ext(路径中一定要包括文件名)
上传后,能在百度网盘/我的应用数据/应用名/foo/bar下找到一个叫file.ext的文件。

下载文件

./bpcs_uploader.php download [path_local] [path_remote]

删除文件

./bpcs_uploader.php delete [path_remote]

离线下载

./bpcs_uploader.php fetch [path_remote] [path_to_fetch]
注:离线下载暂时无法在一般的api key授权的情况下使用,需要另外申请开通。

FAQs

  1. 各种错误提示
    试试php -d disable_functions -d safe_mode=Off -f bpcs_uploader.php
  2. 为什么要输入app name?
    因为百度PCS的权限被限制在了/apps/appname/下。如果发现输入app name后仍然无法上传文件,请通过网页版找到【我的应用数据】找到对应的文件夹名,写入/config/appname文件。上传文件的时候会自动帮您处理文件夹,无需手动写出完整路径。
本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: PHP | Tags: php 百度 百度网盘
2
14
2013
0

随手扒拉的一个有意思的源码

从free8上看到一个源码(http://www.free8.net/thread-72510-1-1.html),觉得蛮有意思的,随手做了一个后台,放出来给大家玩玩。

admin_panel.php是后台,没有任何验证,建议改名为比较复杂的文件名就好了。

放上一个演示先:http://summer.p.ht/simple

下载点照例是skydrive。http://sdrv.ms/X5aTQ9

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: PHP | Tags: php 源码 随意贴 创意
2
13
2013
0

更换服务器对lnmp、eac、xc和mc的折腾记录

以前在HelloHost的凤凰城的空间访问速度越来越不理想了,跑个Discuz都卡掉渣的。空间也略神奇,发邮件时不时要抽一下两下的。偶尔可以sendmail,有时候只能smtp。UC也时不时要抽一下,不过总体来说还是物有所值的,对速度要求不高的,或者有CDN的可以买来试试看。不过我既没有CDN,也没法忍受那样的速度于是就想着换个地方来的。和ivmm(via 米饭维谷)交流了一阵子。后来他推荐给我LocVPS(via LocVPS|无推介链接)家的VPS,说是洛杉矶机房,和大陆线路是直连的。于是回来以后就买下了LocVPS的Xen 512M方案,使用军哥的LNMP自动脚本(via LNMP一键安装包)搭建的LNMP环境。

环境搭建起来以后要考虑的主要还是安全问题。默认的php.ini禁止了一些函数,比如fsocksopen之类的,我给解开了;然后有一些函数没有禁用,比如popen(进程管理,容易被webshell利用执行命令)等,我给禁用了。我的php.ini中的disable_functions大概是这个样子的(为了看清楚,做了换行处理):

disable_functions = passthru,exec,system,chroot,chgrp,chown,
shell_exec,proc_open,proc_get_status,ini_alter,ini_set,
ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,
stream_socket_server,passthru,popen

而另外一些“公认”比较危险的函数,比如opendir,scandir之类的函数,由于有一些特殊需要,就没有禁止了。这样设定起来的参数相对而言比较宽松。

然后就是跨站的问题了。在前一篇文章中提到的LNMP防跨站方法(via LNMP下防跨站、跨目录安全设置,仅支持PHP 5.3.3以上版本)是相当有用的,尤其是在enable_dl=Off和dl被加入disable_functions的时候,要攻破的几率就不很大了。

我对上面文章的一些设定做了一些小小的改动。默认情况下php.ini里是没有限定open_base_dir的。按照上面的方法设定的话,有可能会有某些极端情况(手动编辑vhost让docroot改到其它目录下)导致对目录的open_base_dir限定无效,还在php.ini的[PHP]节加入了这样的设定使它应用到默认的情况下:

open_basedir = ./:/tmp/

这样在添加了虚拟主机或者修改了路径以后,不会带来潜在的安全隐患。这样处理了以后安全性应该是比原来好一些了。上传了一个phpspy做测试,还算符合要求。

最后要考虑的还有效率问题。说道效率问题就想到了eaccelerator,xcache和memcache(当然还有APC等)。我的习惯是安装eac和mc。但是经过ivmm介绍后,我决定把eac抛弃转而使用xc作为编译缓存,数据缓存保留xcache和memcache两种方式(有的程序只支持其一)。可是不管我怎么折腾,eac,xc,mc还有pdo_mysql都一直没有办法安装成功。正在无可奈何之际留意到php-fpm重启时的提示消息:

Starting php-fpm Zend Optimizer requires Zend Engine API version 220060519.
The Zend Engine API version 220090626 which is installed, is newer.
Contact Zend Technologies at http://www.zend.com/ for a later version of Zend Optimizer.

本来一直以为这是和php -v一样输出的一些版本号,没有在意。仔细一看才发现这是一条报错消息。到php.ini里查看,才发现因为从php5.2升级php5.3.21后恢复了备份的php.ini,导致Zend Optimizer所加载的还是老版本的ZendOptimizer.so,而不是php5.3.x应该加载的ZendGuardLoader.so(在php5.3之后,Zend Optimizer升级改名为了Zend Guard Loader并且不完全向下兼容)。找到问题根源以后就好办了,把php.ini中的Zend改为正确的名字,重新加入mc和xc的配置文件,重启php-fpm,打开phpinfo,一切正常。上传xcache的管理文件查看,发现命中率还是很高的,可见Xcache还是比较有效的。

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: PHP | Tags: php lnmp xcache memcache eaccelerator
2
12
2013
2

版本号的小陷阱

ps.本文所有红色的文字均为错误观点。

首先提出一个问题,php5.3.3和php5.3.21哪个版本高?perl5.1和perl5.01的版本哪个高?

perl中有时候可以看到这么一段代码:

use 5.010

这其中5.010就是perl的版本号。如果写成这个样子呢?

use 5.1

那么这回就不好玩了,perl会认为你要的是5.100,因为perl的版本号是3位小数的。

最近在搭lnmp环境,看到有的文章说PHP5.3.3以上的版本可以支持[HOST=xxx]这样的php.ini写法(via LNMP下防跨站、跨目录安全设置,仅支持PHP 5.3.3以上版本)。于是跑去php官网看,发现最新的php版本才5.3.21。我下意识的觉得,5.3.21要比5.3.3低(php5.3.30>php5.2.21)。于是直接升级到了php5.4.11。可是升级之后,GBK编码的DiscuzX的短消息全部成了空白。于是一脸悲剧的重装php到5.3.21,以为那个防跨站方法无缘了。但是实际测试发现,php5.3.21也能支持那样的写法。

于是这是怎么回事呢?PHP的版本号命名,其实是由3段数字组成的:主版本号、次版本号、发行次数。

因此,php5.3.21的意义是“5.3版本第21个发行版本”,而php5.3.3呢,则是“5.3版本的第3个发行版本”。显而易见的,21>3,所以php5.3.21比php5.3.3新也是理所当然的了,而不能错误的认为,php5.3.3比php5.3.21高

哦,对了,文章前面问题的答案呢?自然是perl 5.1和php5.3.21的版本要高了。

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: 杂项 | Tags: php 版本
1
17
2013
5

三三精选PHP脚本集之压缩解压

例行吐槽:呐,寒假大礼包之一也许就是这个精选脚本集了。大概会以非常不固定的频率更新一些常用的PHP脚本吧。大部分是可以自由使用的,当然也有来路不明的。嗯,仅供学习使用,版权归原作者所有哈。

作为一个网站管理者,每天和文件打交道是必不可少的。由于众所周知的原因 ,通过FTP上传下载一些零碎的小文件,特别是上传到国外空间,那简直就是灾难。虽然部分面板提供了在线压缩/解压,而且在VPS上压缩/解压也不是一个很大的问题,但是残酷的现实是,并非每个人都有可以压缩/解压的面板,也并非每个人都有VPS。所以,利用一些PHP脚本,能够对压缩文件解压或者将网站文件备份为压缩文件,那简直是太棒了。

这次要介绍的脚本集中收录的一共有三款脚本:phpzip,一个无名的脚本和博主自己写的压缩脚本。它们各有千秋,当然也不是每一个对所有的服务器都支持的,所以需要大家去尝试总结,哪个比较好用什么的。当然,如果试过了这里所有的脚本都没法实现的话,那么你得考虑换一个空间了。

嗯,先给出下载链接。按照我的惯例,分享的文件是放在微软的SkyDrive上的,大家点开链接以后只要点上部的“下载”链接就行了,不需要考虑下面那一大片其它乱七八糟的文件——当然如果你感兴趣的话也可以看看的。不过为了符合国情,还放了一份到百度网盘,大家自己看着办。

SkyDirve:http://sdrv.ms/MMNvDZ

百度网盘:http://pan.baidu.com/share/link?shareid=185587&uk=3340806281

首先是作者不详的压缩解压脚本,姑且叫它“unzipfiles”吧。这个脚本只有两个文件,zipfile.php和unzipfile.php。顾名思义,嗯,一个是解压一个是压缩。

下载到文件后解压缩,找到zip文件处理这个文件夹。两个文件就在这里。打开zipfile.php,找到第四行左右的位置修改密码:

然后对unzipfile.php也同样操作。修改完成后保存,将这两个文件上传到你的空间。(当然,如果只要解压的话上传一个就unzipfile.php够了,压缩亦然。)

上传完成后,使用自己的电脑将要上传的文件压缩成ZIP格式。打包时请选择“添加到压缩文件...”选项,在弹出的对话框中选择ZIP格式:

如果文件比较大,将这个zip文件上传到你的空间。文件不大的话,下一步可以通过浏览器直接上传。需要注意的是,压缩文件本身和里面的内容最好是不要出现中文,否则容易乱码。

上传完成后,来到你上传的脚本页面:http://<your_url>/unzipfile.php进行操作。

在这个简明的页面中,你可以选择服务器上现有的zip文件(前提是和这个文件同目录),也可以上传zip文件。解压目录保持不变即可,验证密码填写上一部你修改的密码,点击解压,服务器就会自动帮你解压这个文件。

解压完成后会有上面的提示信息。去到FTP中,就可以看到刚刚生成的文件了。是的,由于有中文文件名,所以很干脆的乱码了:

压缩也是同样的操作,这里就不再赘述了。

然后就是第二款压缩脚本phpzip了。这款脚本很古老,但是很好用。它分为在电脑上运行的exe程序和在服务器上运行的php脚本两个部分,采用了自己独特的dat格式并搭配gzip压缩,压缩率还不错。

首先将zip.php/unzip.php上传到服务器上,然后通过浏览器访问。页面上方有一段文字,说明你的服务器是否支持zlib库。根据这个提示我们打开phpzip.exe,设置对应的选项进行压缩:

同样,也有本地上传和服务器上传两种方式。压缩后的文件扩展名是dat.gz,很独特。

phpzip主界面上有一个“集成”按钮,点击它以后就可以让phpzip和winrar等压缩软件一样在右键菜单中出现了,如图:

在phpzip目录下还有一个神秘的rm.php文件。这个文件可以帮助我们删除那些在FTP上面无法删除的文件,或者由于文件太多,在FTP上删除需要很久的文件夹。用记事本打开这个文件修改密码,然后上传并在浏览器访问。

只需要填写密码和要删除的路径,提交就会发现文件不见了。

第三款压缩脚本是博主自己写的,只有简单的将当前目录下文件全部压缩的功能,只需要上传然后在浏览器中访问就可以了,不需要其它的操作,这里就不介绍了。

总之,PHP能够帮你减少文件管理的负担,让你的生活更加轻松自在。

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: PHP | Tags: php 三三精选脚本集
12
25
2012
11

百度开发者中心BAE服务收费通知——又一个免费服务的终结

都打算睡觉了,邮箱收到噩耗:

尊敬的开发者,您好, 为了给您提供更加简单可依赖的应用托管服务,防止资源的恶意滥用,百度开发者中心计划于2012年12月25日起,对BAE(百度应用引擎)进行收费。

不过,BAE这次收费不是完全开始收费,还是有一些免费额度的。

具体邮件如下:

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: WEB | Tags: bae 免费
12
8
2012
8

Google Apps 客户通知——只有免费,没有永久免费

从今天起,我们不再接受 Google Apps 免费版本(即您当前正在使用的版本)的新帐户注册申请。由于您已经是我们的客户,因此这一更改不会对您的服务产生影响,您可以继续免费使用 Google Apps。

 

Google Apps曾是最受欢迎的免费企业邮箱之一。从一开始的自由服务,提供登录页面和最大用户数目为2000的企业邮箱,到后来取消了登录页面,但是保留了2000用户,然后在09年的时候取消了初始页,也没有了2000用户,变50了。

当年的截图:(2000个用户的样子)

当年的域名1314.fr.cr和2323043.cn呢……有点怀念的感觉。

是2000个用户,很不错的样子,有初始页,各种功能很开放……然后……到了09年的时候,我再申请,已经没有办法申请到2000个用户了。

免费的服务质量终究要降低吧……Google毕竟是商业机构,不是慈善机构嘛……50个用户其实也很够的样子。然而今天……

好吧,好在之前申请的还能用……

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: WEB | Tags: google 免费 企业邮箱

Host by is-Programmer.com

Power by Chito 1.3.1 beta

| Theme: Aeros 2.0 by TheBuckmaker.com