风起 发布的文章

[总结]Svn本地忽略功能

总是有人问, 写成blog好了, 谁问法给谁.

svn批量提交时, 不提交某些文件, 这个需要用到svn的changelist命令(Gui下可以每次手动勾选不提交...), 原理是把改动的文件放到非默认changlist, svn每次提交默认起到忽略的作用:

> svn changelist 'Local ignore' config/config.inc.php
> svn status
--- Changelist 'Local ignore':
M       config/config.inc.php

注: Local ignore是可以随便输入的, 等于给列表起一个名字, 同时changelist可以简写成cl.

[总结]svn更换新仓库地址, 以及UUID不同的解决方式

shell 命令:

svn relocate svn://svn_old svn://svn_new

一般会提示:

svn: E195009: The repository at 'svn://svn_old' has uuid
'bdbd6e13-965c-4da7-a4da-d4840425081e', but the WC has
'9dcab4f9-d1ff-49d9-8b8d-a11efef133c1'

uuid是仓库创建的时候生成的, 本地客户端也会拿它来对比是否是同一个svn仓库, 解决方法有两种:
1: 重新checkout
文件太多, 我受不了

2: 修改本地uuid

sqlite3 .svn/wc.db
sqlite> select * from REPOSITORY; #一般是只有一条记录, 修改后会有两条
sqlite> update REPOSITORY set uuid="bdbd6e13-965c-4da7-a4da-d4840425081e" where id=1;
sqlite> .exit

svn update即可

[转载]linux下使用rsync同步文件到exfat分区的问题

原文地址: rsync to an exFAT partition in Linux

今天在备份东西的时候,使用rsync,提示: rsync: chcon "..." failed: Function not implemented (38).

很奇怪的提示, 搜索下才知道, 是权限的问题,我的rsync参数带o p g参数, 这3个参数的作用分别是保持文件所有者,属组,属性的.

-p, --perms 保持文件权限
-o, --owner 保持文件属主信息
-g, --group 保持文件属组信息

大致意思是exfat支持问题,去掉就ok了, 例如:

rsync -rltDv /from /to

[转载]SSH公钥认证Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).的问题

原文链接: SSH关于公钥认证Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).的问题

SSH对公钥、私钥的权限和所有权的要求是非常严格的,总结如下:
1、下面两个目录的所有权必须是user,所属组也应该是user,权限必须为700
\home\user
\home\user\.ssh
2、下面公钥文件的所有权必须是user,所属组也应该是user,权限必须为644
\home\user\.ssh\authorized_keys
3、下面私钥文件的所有权必须是user,所属组也应该是user,权限必须是600
\home\user\.ssh\id_rsa


周末的时候, 把原本独立分区的home, 挂载成了opt, home就放到/一起了, 然后ssh-key登录就死活上不去.

今天才突然想起来, 原home分区给/opt后, /下是没有home目录的, 后来就root新建了一个目录, 默认新建目录权限是755, ssh要求是700才行.

[总结]Mac OS X显示隐藏文件

打开命令行, 输入以下命令(井号后面的不用复制):

defaults write com.apple.finder AppleShowAllFiles  YES && killall Finder # 打开
defaults write com.apple.finder AppleShowAllFiles  NO && killall Finder #关闭

就是这么简单

[转载]PHP设置Cookie的HTTPonly属性

原文链接: PHP设置Cookie的HTTPonly属性

PS: 直接转载, 有时间再整理下排版, 有点挤...

httponly是微软对cookie做的扩展。这个主要是解决用户的cookie可能被盗用的问题。
大家都知道,当我们去邮箱或者论坛登陆后,服务器会写一些cookie到我们的浏览器,当下次再访问其他页面时,由于浏览器回自动传递cookie,这样就实现了一次登陆就可以看到所有需要登陆后才能看到的内容。也就是说,实质上,所有的登陆状态这些都是建立在cookie上的!假设我们登陆后的cookie被人获得,那就会有暴露个人信息的危险!当然,想想,其他人怎么可以获得客户的cookie?那必然是有不怀好意的人的程序在浏览器里运行!如果是现在满天飞的流氓软件,那没有办法,httponly也不是用来解决这种情况的,它是用来解决浏览器里javascript访问cookie的问题。试想,一个flash程序在你的浏览器里运行,就可以获得你的cookie的!

IE6的SP1里就带了对httponly的支持,所以相对还说还是些安全性。

PHP中的设置
PHP5.2以上版本已支持HttpOnly参数的设置,同样也支持全局的HttpOnly的设置,在php.ini中
-----------------------------------------------------
session.cookie_httponly =
-----------------------------------------------------
设置其值为1或者TRUE,来开启全局的Cookie的HttpOnly属性,当然也支持在代码中来开启:
-----------------------------------------------------
// or session_set_cookie_params(0, NULL, NULL, NULL, TRUE);
?>
-----------------------------------------------------
Cookie操作函数setcookie函数和setrawcookie函数也专门添加了第7个参数来做为HttpOnly的选项,开启方法为:
-------------------------------------------------------
setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
setrawcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
-------------------------------------------------------
对于PHP5.1以前版本以及PHP4版本的话,则需要通过header函数来变通下了:
-------------------------------------------------------------

-------------------------------------------------------------