作者归档:admin

世界上没有一个人是废物,只不过没有放对位置!

有一个男的,没考上大学,父母就给他找了个老婆结婚了,结婚后就在本村的小学教书。由于没有经验,不到一周就被学生轰下了台。回到家后,老婆为他擦了擦眼泪,安慰说,满肚子的东西,有人倒得出来,有人倒不出来,没必要为这个伤心,也许有更适合你的事情等着你去做。 

       后来,他外出打工,又被老板轰了回来,因为动作太慢。这时老婆对他说,手脚总是有快有慢,别人已经干很多年了,而你一直在念书,怎么快得了? 

       他又干过很多工作,但无一例外,都半途而废。然而,每次他沮丧地回来时,他老婆总安慰他,从没有抱怨。

       三十多岁时,他凭着一点语言天赋,做了聋哑学校的辅导员。后来,他又开办了一家残障学校。再后来,他在许多城市开办了残障人用品连锁店,他已经是一个拥有几千万资产的老板了。

有一天,功成名就的他问自己的老婆,自己都觉得前途渺茫的时候,是什么原因让你对我那么有信心呢?

       他老婆的回答朴素而简单。她说,一块地,不适合种麦子,可以试试种豆子;豆子也长不好的话,可以种瓜果;如果瓜果也不济的话,撒上一些荞麦种子一定能够开花。因为一块地,总有一粒种子适合它,也终会有属于它的一片收成。

        听完老婆的话,他落泪了!「老婆恒久而不绝的信念和爱,就像是一粒坚韧的种子;他的奇迹,就是这粒种子执著而生长出的奇迹!」

 "世界上没有一个人是废物,只不过没有放对位置! “

1.不懂珍惜,给你座金山也不会快乐。

2.不懂宽容,再多的朋友也终将离去。

3.不懂感恩,再优秀也难以成功。

4.不懂行动,再聪明也难以圆梦。

5.不懂合作,再拼搏也难以大成。

6.不懂积累,再挣钱也难以大富。

7.不懂满足,再富有也难以幸福。

8.不懂养生,再治疗也难以长寿。

有钱人和穷人的思维对比图

教你做个亿万富翁——亿万富翁养成记,富人喜欢赚钱,穷人喜欢挣钱,一字之差,产生两种命运。

 

一、对金钱的思维方式

穷人 有钱人
我办不到 我怎样才能办到
我不可能赢 我一定要赢
我不富有的原因是我有孩子 我必须富有的原因是我有孩子
要是我再年轻一点 我还很年轻
我受的教育有限 我会不断学习
要是我老爸给我留下…… 成功要靠自己
稳定的工作就是一切 不断进取才是一切
赚钱的时候要小心,别去冒风险 要学会管理风险
我没有资金 我想办法找资金
我可买不起 我想办法买得起
钱不好赚 赚钱很容易
贪财乃是万恶之源 贫困才是万恶之本
我对钱不感兴趣 我的爱好是让钱生钱
钱对我来说不重要 钱对我来说是人生价值
我要为赚钱而工作 我要让金钱为我工作
我从不富有 我是一个有钱人
这是一个贫穷的世界 这是一个富有的世界

 

二、看待问题的角度

穷人 有钱人
在问题面前束手无策 想办法解决问题
心灵是封闭的 头脑是开放的
观念是陈旧的 观念是崭新的
只说不做 语言後面跟着行动
看结果做事 看趋势做事
只看消极与失败的一面 先看积极和光明之处
在失败面前找藉口 在失败之後找原因
字典中总有「不可能」 字典中没有「不可能」
不愿合作,不会利用人际关系 喜欢与人合作,会利用人际关系
目光短浅,斤斤计较眼前得失 目光远大,不会计较一时之利益
总觉得时间富裕,无所事事 总觉得时间不够用,忙於做事
总想休息,工作并痛苦着 热爱事业,工作并乐着

 

三、理财的方式

穷人 有钱人
等待天上掉下礼物 不断寻找新的乳酪
渴望中奖 奠定基业
鸡蛋里挑骨头 只找下金蛋的鸡
期待不劳而获 知道只有付出才有收获
贫穷是长久的 破产是暂时的
努力存钱 不断地投资
千方百计节约钱财 想方设法创造财富
购买负债 购置资产
口袋空空,脑袋也空空 口袋充实,脑袋更充实
甘心打工 愿当老板
总想去远方寻找宝藏 钻石就在脚下

四、对待人生的选择

 

穷人 有钱人
抱守残缺,不知变革 锐意进取,开拓创新
遇到挫折就放弃,还没做事就失败了 跌倒了再爬起来,不达目的不甘休
什麽都想做 先做好一件事
总想找找个好工作 一心要办个好公司
总是更努力地工作 总是更聪明地工作
是别人船上的海员 是自己命运的舵手
空想家 梦想家
流浪汉 实干家
坐等最佳时机 抓住每一个机会
人生是迷途个羔羊 人生是惊醒的雄狮
做成事要靠运气 钻石就在脚下
寄希望於下一代 要给子女打天下

openssl“心脏出血”漏洞的检测与修复

wKiom1NIDfvhqFTjAAD9jUP8qCw976.jpg  近日,互联网爆发了被称为“心脏出血”式的严重安全事件。

那么这个事件对谁有影响呢?
答案是:普通上网者。比如,你登陆支付宝,淘宝,网银等账号密码可能被悄无声息窃取。

为什么呢?SSL协议是为网络通信提供安全及数据完整性的一种安全协议,也是互联网上最大的“门锁”。而此次曝出的Open SSL漏洞让这个“门锁”形同虚设,可以让攻击者获得服务器内存中的数据内容,甚至导致网络账户与密码、网银资金、电子邮件等重要信息的泄漏! “心脏出血”漏洞严重危害网站安全。

腾讯相关报道: http://tech.qq.com/a/20140410/015389.htm

如何检测:
一、Linux CentOS  (yum源服务已在第一时间更新网站openSSL版本并通过专业检测,但仍建议客户对帐号密码定期修改,避免风险。)
rpm -q --changelog openssl-1.0.1e | grep CVE-2014-0160

如果显示:
20140414174210说明已经修复了漏洞

二、Linux Ubuntu (默认安装的版本是安全的,版本号是libssl1.0.0)
dpkg -l|grep libssl
如果显示:
Version: 1.0.1-4ubuntu5.12
说明已经修复了漏洞

 

如何修复:

一、Linux CentOS
1、推荐此方法,兼容性好
yum install openssl
2、下载RPM安装包手动安装(主要适用于断网环境)
http://mirror.bit.edu.cn/centos/6.5/updates/x86_64/Packages/openssl-1.0.1e-16.el6_5.7.i686.rpm
http://mirror.bit.edu.cn/centos/6.5/updates/x86_64/Packages/openssl-1.0.1e-16.el6_5.7.x86_64.rpm
http://mirror.bit.edu.cn/centos/6.5/updates/x86_64/Packages/openssl-devel-1.0.1e-16.el6_5.7.i686.rpm
http://mirror.bit.edu.cn/centos/6.5/updates/x86_64/Packages/openssl-devel-1.0.1e-16.el6_5.7.x86_64.rpm

3、去openssl官网下载源码包编译安装
wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz
tar xvf openssl-1.0.1g.tar.gz
cd openssl-1.0.1g
./configure
make
make install
/etc/init.d/nginx restart

#重启nginx,完成漏洞修补。

二、Linux Ubuntu
1、APT-GET包管理器升级
apt-get update
apt-get install libssl1.0.0

2、去openssl官网下载源码包编译安装
wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz
tar xvf openssl-1.0.1g.tar.gz
cd openssl-1.0.1g
./configure
make
make install
/etc/init.d/nginx restart

#重启nginx,完成漏洞修补。

Linux清除用户登录记录和命令历史

清除登陆系统成功的记录,也就是last命令看到的记录

此文件默认打开时乱码的,里面可以看到ip等等信息
echo >/var/log/wtmp
last

此时即看不到用户登录信息

清除登陆系统失败的记录,也就是lastb命令看到的记录
此文件默认打开时乱码的
echo > /var/log/btmp
lastb

此时就没有结果输出了


清除历史执行命令

history -c
或者,清空用户目录下的这个文件即可
echo >~/.bash_history

php生成随机密码的几种方法

使用PHP开发应用程序,尤其是网站程序,常常需要生成随机密码,如用户注册生成随机密码,用户重置密码也需要生成一个随机的密码。随机密码也就是一串固定长度的字符串,这里我收集整理了几种生成随机字符串的方法,以供大家参考。
方法一:

1、在 33 – 126 中生成一个随机整数,如 35,
2、将 35 转换成对应的ASCII码字符,如 35 对应 #
3、重复以上 1、2 步骤 n 次,连接成 n 位的密码

该算法主要用到了两个函数,mt_rand ( int $min , int $max )函数用于生成随机整数,其中 $min – $max 为 ASCII 码的范围,这里取 33 -126 ,可以根据需要调整范围,如ASCII码表中 97 – 122 位对应 a – z 的英文字母,具体可参考 ASCII码表; chr ( int $ascii )函数用于将对应整数 $ascii 转换成对应的字符。

    function create_password($pw_length = 8)
{
$randpwd = '';
for ($i = 0; $i < $pw_length; $i++)
{
$randpwd .= chr(mt_rand(33, 126));
}
return $randpwd;
}
// 调用该函数,传递长度参数$pw_length = 6
echo create_password(6);

方法二:

1、预置一个的字符串 $chars ,包括 a – z,A – Z,0 – 9,以及一些特殊字符
2、在 $chars 字符串中随机取一个字符
3、重复第二步 n 次,可得长度为 n 的密码

    function generate_password( $length = 8 ) {
// 密码字符集,可任意添加你需要的字符
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|';
$password = '';
for ( $i = 0; $i < $length; $i++ )
{
// 这里提供两种字符获取方式
// 第一种是使用 substr 截取$chars中的任意一位字符;
// 第二种是取字符数组 $chars 的任意元素
// $password .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
$password .= $chars[ mt_rand(0, strlen($chars) - 1) ];
}
return $password;
}

方法三:

1、预置一个的字符数组 $chars ,包括 a – z,A – Z,0 – 9,以及一些特殊字符
2、通过array_rand()从数组 $chars 中随机选出 $length 个元素
3、根据已获取的键名数组 $keys,从数组 $chars 取出字符拼接字符串。该方法的缺点是相同的字符不会重复取。

    function make_password( $length = 8 )
{
// 密码字符集,可任意添加你需要的字符
$chars = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
'i', 'j', 'k', 'l','m', 'n', 'o', 'p', 'q', 'r', 's',
't', 'u', 'v', 'w', 'x', 'y','z', 'A', 'B', 'C', 'D',
'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L','M', 'N', 'O',
'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y','Z',
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '!',
'@','#', '$', '%', '^', '&', '*', '(', ')', '-', '_',
'[', ']', '{', '}', '<', '>', '~', '`', '+', '=', ',',
'.', ';', ':', '/', '?', '|');
// 在 $chars 中随机取 $length 个数组元素键名
$keys = array_rand($chars, $length);
$password = '';
for($i = 0; $i < $length; $i++)
{
// 将 $length 个数组元素连接成字符串
$password .= $chars[$keys[$i]];
}
return $password;
}

方法四:

本方法是本文被蓝色理想转载后,一名网友提供的一个新方法,算法简单,代码简短,只是因为md5()函数的返回值的缘故,生成的密码只包括字母和数字,不过也算是一个不错的方法。算法思想:
1、time() 获取当前的 Unix 时间戳
2、将第一步获取的时间戳进行 md5() 加密
3、将第二步加密的结果,截取 n 位即得想要的密码


function get_password( $length = 8 )
{
$str = substr(md5(time()), 0, 6);
return $str;
}

时间效率对比

我们使用以下PHP代码,计算上面的 4 个随机密码生成函数生成 6 位密码的运行时间,进而对他们的时间效率进行一个简单的对比。

        function getmicrotime()
{
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}

// 记录开始时间
$time_start = getmicrotime();

// 这里放要执行的PHP代码,如:
// echo create_password(6);

// 记录结束时间
$time_end = getmicrotime();
$time = $time_end - $time_start;
// 输出运行总时间
echo "执行时间 $time seconds";
?>

最终得出的结果是:
方法一:9.8943710327148E-5 秒
方法二:9.6797943115234E-5 秒
方法三:0.00017499923706055 秒
方法四:3.4093856811523E-5 秒

可以看出方法一和方法二的执行时间都差不多,方法四运行时间最短,而方法三的运行时间稍微长点。