周未平乐古镇一日游

2010-8-28 寒川 点滴心情

今天的天气不热,很适合出去耍。又逢周未,不出去真过意不去。加上公司所在地周围的风境点也不少,不出去转转说不通。更何况己经都值了三周的班了,不去放松一下更是对不起自己。于是出去小逛一下,咱农村来的也见见世面呗。话说平乐古镇越来越漂亮了,卖小玩意儿的还是那么多,远离城市的喧嚣,可彻彻底底地放松一下自己(注:不是放纵哈)。下面照一张,看看古镇的魅力。
点击查看原图

标签: 平乐古镇

评论(15) 浏览(14389)

如何用正则表达式匹配指定字符开始和指定字符结束

2010-8-27 寒川 网页编程

今天用dedecms写采集规则的时候发现一不小心,把大量无用的字符也采集下来了,重写规则重新集采是不太可能的了,那么多的数据,好再dedecms功能很强大,即使采集下来后也可用替换功能将无用字符给替换掉,于是有了今天的问题。正则匹配指定字符开始和指定字符结束,如以a开始结束的正则表达式为:a.*?b ,即以a开始b结束的字符可能被匹配。顺便将dedecms批量改动太的sql语句记下来,伪静太或动态页面的时候很有用。
进入后台→系统→SQL命令行工具→运行SQL命令行: 单行命令执行查询命令:
1.将所有文档设置为“仅动态”:update dede_archives set ismake=-1
2.将所有文档设置为“仅静态”:update dede_archives set ismake=1
3.将所有栏目设置为“使用动态页”: update dede_arctype set isdefault=-1
4.将所有栏目设置为“使用静态页”: update dede_arctype set isdefault=1

标签: sql dedecms 正则

评论(2) 浏览(18283)

excel表格中页码从第n页开始

2010-8-26 寒川 计算机

Excel表格中页码如何从第n页开始呢?比如我想打印现来直接就是5、6、7、……、n、……这样子,这个小小的问题把我还真难着了,很少遇到这种情况,但今天遇到了,百度一下,问题解决了,记下来,分享一下:
Excel2003:点击菜单 “ 视图 ”-“ 页眉和页脚 ” ,在 “ 页面设置 ” 对话框中的 “ 页面 ” 里左下角有个 “ 起始页码 ” ,在 “ 自动 ” 里输入 n;再文件—页面设置—页眉页脚—选择第一页,即可。

Ecel2010:点击“页面布局”->页面设置->起始页码就OK了,详见下图:

点击查看原图

点击查看原图

点击查看原图

标签: excel 页码 从第

评论(8) 浏览(42310)

JPG、RAR合并器,可将rar转为jpg。

2010-8-9 寒川 精选软件

软件名称:JPG、RAR合并器

  一幅jpg图片各一个rar压缩包经过本软件处理后会生成一个奇特的新文件,当这个新文件扩展名被改成rar时除体积各原来的压缩包完全一样,改成jpg时除文件体积外和原图片完全一样。呵呵,很好耍的软件,用于隐藏文件还是大有用处的哈。。。

http://www.163pan.com/files/40w000v0a.html

标签: rar转jpg rar合并软件 jpg合并软件

评论(12) 浏览(11507)

php zend加密破解软件

2010-8-9 寒川 精选软件

用php zend加密的朋友得注意了,zend加密破解其实就这么简单,若真想保护好你的源码,最好用其它没被破解的软件加密。这个破解软件是我一朋友发给我的,当是是要查看一个OA系统的源文件,一放就几个月了,今天清理电脑垃圾文件的时候翻了出来,感觉或许以后可能会用到,同时分享出来,需要的朋友请到下面的地址下载:http://www.163pan.com/files/40w000v09.html

标签: zend加密 zend加密破解 php加密破解

评论(3) 浏览(15138)

PHP版OAuth认证协议中的HMACSHA1加密算法(签名方法)

2010-8-3 寒川 网页编程

鼓捣微博API的时候接触到OAuth认证协议,其中的HMACSHA1加密算法(签名方法)百度上找的,分享出来,也许以后有用。呵呵。。。。

<?php

function hmacsha1($key,$data) {
    $blocksize=64;
    $hashfunc='sha1';
    if (strlen($key)>$blocksize)
        $key=pack('H*', $hashfunc($key));
    $key=str_pad($key,$blocksize,chr(0x00));
    $ipad=str_repeat(chr(0x36),$blocksize);
    $opad=str_repeat(chr(0x5c),$blocksize);
    $hmac = pack(
                'H*',$hashfunc(
                    ($key^$opad).pack(
                        'H*',$hashfunc(
                            ($key^$ipad).$data
                        )
                    )
                )
            );
    return $hmac;
}

?>

标签: 微博API OAUTH HMACSHA1签名方法 HMACSHA1

评论(1) 浏览(14306)

OAuth认证协议原理分析及使用方法(转)

2010-8-3 寒川 网页编程

随着微博的盛行,各大网站都推出了自己的微博,而且大多微博都开放自己的API,怎样才能更安全地使用这些微博API是个问题。昨晚看了新浪、搜狐、嘀咕的API,发现都提供BASIC、OAUTH两种认证方式,BASIC倒是很好用,不过貌似安全性能比OAUTH认证方式差了好多。现在有空,转点OAUTH认证的放在博客中,慢慢研究。下面内容为转载:


OAuth是什么?

OAuth是一个开放的认证协议,让你可以在Web或桌面程序中使用简单而标准的,安全的API认证。

OAuth有什么用?为什么要使用OAuth?

网络开放是一个不变的趋势,那么不可避免的会有各种网络服务间分享内容的需要。

举个我们身边国内的例子吧:比如人人网想要调用QQ邮箱的联系人列表,现在的方法是你需要在人人网输入你的QQ号,QQ密码才能调用,虽然网站上可能都自谓“不保留QQ用户名密码”,但是大家信吗?

OAuth就是为了解决这个问题而诞生的,用户访问第三方资源,不再需要网站提交你的用户名,密码。这样好处自己是安全,而且不会泄露你的隐私给不信任的一方。

OAuth原理

OAuth中有三方:一,用户;二,Consumer(不知杂翻译,类似上面的 twitterfeed 角色);三,服务提供商。

一,Consumer 向 服务提供商 申请接入权限

可得到:Consumer Key,Consumer Secret。twitter申请oauth的话,在 setting - connection - developer 里面申请。 同时给出三个访问网址:

  1. request_token_url = 'http://twitter.com/oauth/request_token'
  2. access_token_url = 'http://twitter.com/oauth/access_token'
  3. authorize_url = 'http://twitter.com/oauth/authorize'

二,当Consumer接到用户请求想要访问第三方资源(如twitter)的时候

Consumer需要先取得 请求另牌(Request Token)。网址为上面的 request_token_url,参数为:

  1. oauth_consumer_key:Consumer Key
  2. oauth_signature_method:签名加密方法
  3. oauth_signature:加密的签名 (这个下面细说)
  4. oauth_timestamp:UNIX时间戳
  5. oauth_nonce:一个随机的混淆字符串,随机生成一个。
  6. oauth_version:OAuth版本,可选,如果设置的话,一定设置为 1.0
  7. oauth_callback:返回网址链接。
  8. 及其它服务提供商定义的参数

这样 Consumer就取得了 请求另牌(包括另牌名 oauth_token,另牌密钥 oauth_token_secret。

三,浏览器自动转向服务提供商的网站:

网址为 authorize_url?oauth_token=请求另牌名

四,用户同意 Consumer访问 服务提供商资源

那么会自动转回上面的 oauth_callback 里定义的网址。同时加上 oauth_token (就是请求另牌),及 oauth_verifier(验证码)。 

五,现在总可以开始请求资源了吧?

NO。现在还需要再向 服务提供商 请求 访问另牌(Access Token)。网址为上面的 access_token_url,参数为:

  1. oauth_consumer_key:Consumer Key
  2. oauth_token:上面取得的 请求另牌的名
  3. oauth_signature_method:签名加密方法
  4. oauth_signature:加密的签名 (这个下面细说)
  5. oauth_timestamp:UNIX时间戳
  6. oauth_nonce:一个随机的混淆字符串,随机生成一个。
  7. oauth_version:OAuth版本,可选,如果设置的话,一定设置为 1.0
  8. oauth_verifier:上面返回的验证码。
  9. 请求 访问另牌的时候,不能加其它参数。

这样就可以取得 访问另牌(包括Access Token 及 Access Token Secret)。这个就是需要保存在 Consumer上面的信息(没有你的真实用户名,密码,安全吧!)

六,取得 访问令牌 后,

Consumer就可以作为用户的身份访问 服务提供商上被保护的资源了。提交的参数如下:

  1. oauth_consumer_key:Consumer Key
  2. oauth_token:访问另牌
  3. oauth_signature_method:签名加密方法
  4. oauth_signature:加密的签名 (这个下面细说)
  5. oauth_timestamp:UNIX时间戳
  6. oauth_nonce:一个随机的混淆字符串,随机生成一个。
  7. oauth_version:OAuth版本,可选,如果设置的话,一定设置为 1.0
  8. 及其它服务提供商定义的参数

OAuth安全机制是如何实现的?

OAuth 使用的签名加密方法有 HMAC-SHA1,RSA-SHA1 (可以自定义)。拿 HMAC-SHA1 来说吧,HMAC-SHA1这种加密码方法,可以使用 私钥 来加密 要在网络上传输的数据,而这个私钥只有 Consumer及服务提供商知道,试图攻击的人即使得到传输在网络上的字符串,没有 私钥 也是白搭。

私钥是:consumer secret&token secret  (哈两个密码加一起)

要加密的字符串是:除 oauth_signature 外的其它要传输的数据。按参数名字符排列,如果一样,则按 内容排。如:domain=kejibo.com&oauth_consumer_key=XYZ&word=welcome......................

前面提的加密里面都是固定的字符串,那么攻击者岂不是直接可以偷取使用吗?

不,oauth_timestamp,oauth_nonce。这两个是变化的。而且服务器会验证一个 nonce(混淆码)是否已经被使用。

那么这样攻击者就无法自已生成 签名,或者偷你的签名来使用了。


转载源:http://kejibo.com/oauth/

标签: 微博API 微博 OAUTH

评论(4) 浏览(12269)

Powered by emlog 蜀ICP备12030225号

川公网安备 51042102000001号

sitemap