tech.cap

我在一望无际的路上

rails笔记 安全和其他

SQL injection

默认的rails的 find(xxx) 是过滤了sql 字符串的 但是自己构造condition limit count sql等需要转义,务必使用? 或者:name来传参数,不要直接构造sql

性能配置 fastcgi

timout注意: fastcgi的timeout是强制回收的, 如果一个请求超过timeout会被kill掉 返回500,所以长时间的任务要设置大一点

设置environment WEBrick ./script/server --environment=production Apache/CGI SetEnv RAILS_ENV production

Apache/FastCGI -initial-env RAILS_ENV product

lighttpd/FastCGI "bin-environment" =>("RAILS_ENV"=>"production")

使用link -s 来更换版本的主意真是太COOL了, rails提供的不干扰用户的杀进程法 killall -USR1 dispatch.fcgi

维护

session清理

太多session可能导致严重的文件系统问题和数据库lock

  • 清除12小时内没有访问的session find /tmp/ -name 'ruby_sess*' -ctime +12h -delete

  • 从数据库中清理session RAILS_ENV=production ./script/runner 'ActiveRecord::Base.connection.delete("DELETE FROM sessions WHERE updated_at < now() - 12*3600")'

测试性能

  • ab工具
  • curl/wget
  • siege http://www.joedog.org/siege/

posted on 2006-01-24 10:37 tech.cap 阅读(1026) 评论(1)  编辑  收藏 所属分类: rails

Feedback

# re: rails笔记 安全和其他 2006-12-12 16:45 初学者

本人初学rails,弱弱的问一下,这句话写在哪个文件中
RAILS_ENV=production ./script/runner 'ActiveRecord::Base.connection.delete("DELETE FROM sessions WHERE updated_at < now() - 12*3600")'

yf_he2003@163.com
  回复  更多评论   



标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-01-24 17:04 编辑过
 
 
相关链接:
网站导航: