`
stinge
  • 浏览: 153772 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

rails 安全问题

阅读更多

rails 防止SQL注入

 

Rails中防止SQL注入是非常简单的,但是还是要注意代码的编写习惯。
例如:
order.find(:all, :conditions=>"name='#{name}'")
在conditions里面使用#()是非常不好的做法,这样传入数据库的sql语句不会经过任何的安全过滤。

正确的方法应该是使用占位符:
order.find(:all, :conditions=>["name = ? and pay_type = ?", name, type])
占位符使用起来比#()方便很多,你还可以这样:
order.find(:all, :conditions=>["name = :name and pay_type = :pay_type", {:name=>name, :pay_type=>pay_type}])

甚至可以:
order.find(:all, :conditions=>["name = :name and pay_type = :pay_type", params])
因为params本身就是一个HASH,只要里面有name和pay_type的参数就会直接传递进来。

分享到:
评论

相关推荐

    Rails101_by_rails4.0

    此外,书中还介绍了一些Rails中的高级概念,如Strong Parameters(强参数),它在Rails 4.0版本中引入,用于解决之前版本中的参数篡改问题,从而帮助开发者安全地处理外部提交的数据。 通过一系列的教学内容,包括...

    Rails项目源代码

    Rails提供了许多安全特性,如CSRF(跨站请求伪造)保护、XSS(跨站脚本攻击)防御和参数过滤。开发者还需要遵循RESTful设计原则,合理使用过滤器,确保敏感信息的安全。 9. **部署与运维**: 项目部署通常选择...

    Rails 101 入门电子书

    - **安全措施**: - 加入权限控制。 - 保护敏感数据。 #### 十一、练习作业4-User可以加入、退出社团 - **目标**: - 用户能够加入或退出特定Group。 - **实现过程**: - 添加Join/Quit操作。 - 更新数据库结构...

    rails2-sample

    网络安全是任何Web应用都必须面对的问题。这一章节将讨论Rails中的安全特性,如防止SQL注入、跨站脚本攻击(XSS)和跨站请求伪造(CSRF)等。通过实施这些防护措施,可以大大降低应用遭受攻击的风险。 #### 9. ...

    Rails recipes

    Rails Recipes涵盖了Rails的众多方面,包括但不限于模型、视图、控制器、路由、数据库迁移、安全、性能优化、测试和部署等。 书中所提到的“隐藏的宝石”,意味着即使是经验丰富的Rails开发者也可能还没有发现或...

    Advanced Rails

    5. **Rails安全**:学习如何防止常见的Web攻击,如SQL注入、跨站脚本(XSS)和跨站请求伪造(CSRF)。了解授权库如Pundit和CanCanCan,以及如何安全地处理用户输入和密码存储。 6. **部署与维护**:了解如何在各种...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    - **措施**:Rails提供了多种内置的安全特性,如防止跨站脚本攻击(XSS)、SQL注入等。 #### 十、下一步 - **学习路径**:继续深入学习Rails的高级特性,如Active Record模式、表单构建器等。 - **社区资源**:加入...

    Ruby-RailsSecurityChecklist社区驱动的Rails安全检查表

    Rails Security Checklist:社区驱动的Rails安全检查表

    Rails进行敏捷Web开发(所有版本的源码rails3.0-4.0)

    通过对比不同版本的源码,开发者可以深入理解Rails如何逐步演进,如何处理性能、安全性和可维护性等问题。同时,这也能帮助开发者更好地适应Rails的新特性,提升自己的Web开发技能。 在探索这些源码时,你可以关注...

    Rails相关电子书汇总

    标题 "Rails相关电子书...此外,书中可能还涵盖了Rails的安全实践、性能优化以及与其他技术(如JavaScript库)的集成等内容。对于希望深入理解Rails框架或想要提升Web开发技能的开发者来说,这本书是一个宝贵的资源。

    rails4.0.0

    为了解决安全问题,Rails 4引入了Strong Parameters,强制开发者明确指定哪些参数可以被控制器的action使用。这有助于防止意外的未授权数据注入。 7. ** turbolinks** Rails 4默认包含了Turbolinks,这是一个...

    rails敏捷开发的购物车系统

    总结,构建Rails敏捷开发的购物车系统涉及了模型-视图-控制器架构的运用、数据库设计、路由配置、会话管理、前端交互以及安全性和测试等多个方面。通过这个过程,开发者不仅可以学习到Rails的基本用法,还能掌握Web...

    rails api(文档)

    8. **安全考虑**:Rails API通常需要与OAuth2、JWT(JSON Web Tokens)或其他身份验证机制配合,以确保API的安全性。 9. **Rate Limiting**:防止恶意用户或脚本滥用API,Rails API可以通过中间件(如Rack::Attack...

    rails 项目起步示例

    - **Authentication** 和 **Authorization**:身份验证和授权机制,确保用户安全。 - **Asset Pipeline**:处理和优化应用的静态资源,如JS、CSS的合并和压缩。 学习Rails项目起步,你需要熟悉这些核心概念,并...

    The Rails 4 Way

    - **开发模式**:通常包含更多的调试信息和详细的错误报告,方便开发者快速定位问题。 - **测试模式**:专为自动化测试设计,可能会关闭缓存等性能优化措施。 - **生产模式**:注重性能和安全性,减少不必要的...

    Rails 101S

    - **Strong Parameters**:介绍Rails中的`strong parameters`概念,确保参数的安全传递。 - **Active Record Associations**:深入探讨Active Record的关联关系管理,如一对一、一对多等关联类型。 #### 总结 ...

    rails学习教程

    Rails提供了许多安全特性,如CSRF防护、XSS防护和参数过滤。了解这些安全措施并合理使用,可以防止常见的Web攻击。 十、部署Rails应用 学习如何将Rails应用部署到生产环境,如Heroku或AWS,是开发过程中必不可少的...

    Rails 3 in Action

    9. **安全与身份验证**:包括CSRF防护、哈希密码存储、授权策略(如CanCanCan)等内容,确保应用的安全性。 10. **部署与优化**:讲解如何将Rails应用部署到各种服务器环境(如Heroku、AWS),并提供了性能调优的...

    rails-api-4.0.0

    API应该提供清晰的错误信息,以便客户端能够理解问题所在。可以通过rescue_from或自定义异常类来捕获和处理错误。 七、安全与认证: API的安全性至关重要。常见的安全策略包括OAuth2、JWT(JSON Web Tokens)或API...

Global site tag (gtag.js) - Google Analytics