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

Rails宝典之第二十七式: CSS(Cross Site Scripting)

    博客分类:
  • Ruby
阅读更多
这次你将看到escape用户输入的任何HTML是多么重要

假设博客上有一个comment表单,我们输入如下内容:
Testing <script>alert('test')</script>

提交我们的comment,如果浏览器弹出alert框,说明该博客没有对用户输入的comment进行escape

Hacker可以利用这个弱点来做CSS攻击:
Got your cookies! <script>alert(document.cookie)</script>

用户在comment表单填入上面内容,这样站点的cookie就暴露无疑了,这是非常危险的。

有两种解决方案:
1)在显示用户输入的内容时escape一下
<%= h(comment.content) %>

2)把用户输入的内容存入数据库前就escape
CGI::escapeHTML(...)


一般来说使用第一种方法即可。
分享到:
评论

相关推荐

    XSS.rar_XSS_cross scripting_cross site java_cross site scripting

    XSS,全称为"Cross Site Scripting",是一种常见的网络安全漏洞,它允许攻击者在用户的浏览器中注入恶意脚本。这种攻击方式通常发生在Web应用中,攻击者利用网站未能充分过滤或转义用户输入的数据,将恶意代码嵌入到...

    Rails的精简版本Rails::API.zip

    Rails::API 是 Rails 的精简版本,针对不需要使用完整 Rails 功能的开发者。 Rails::API 移除了 ActionView 和其他一些渲染功能,不关心Web前端的开发者可更容易、快速地开发应用程序,因此运行速度比正常的 Rails ...

    Rails中应用Ext.tree:以中国的省市地区三级联动选择为例

    在Ruby on Rails(Rails)框架中,开发人员经常需要实现各种...通过学习这个实例,开发者可以掌握如何在Rails应用中集成第三方库,处理层级数据,以及创建交互式的前端界面。这对于提升Web应用的用户体验非常有价值。

    Ruby-on-Rails-3.rar_site:www.pudn.com

    该资源的核心内容是《Web开发敏捷之道 - 应用Rails进行敏捷Web开发 - 第三版》这本书的PDF版本。这本书详细介绍了使用Ruby on Rails框架进行敏捷Web开发的相关知识。 Ruby on Rails(简称Rails)是一种基于Ruby编程...

    Ruby on Rails入门经典代码

    Ruby on Rails,简称Rails,是基于Ruby语言的一个开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发过程更加高效、简洁。本压缩包中的"Ruby on Rails入门经典代码"提供了新手学习...

    asset_hat, 在 Rails 中,快速加载CSS和 JS 你的资产被覆盖.zip

    asset_hat, 在 Rails 中,快速加载CSS和 JS 你的资产被覆盖 AssetHat快速加载CSS和 JS 。 你的资产被覆盖。当首次请求该包时,使用 Rails'默认的资源缓存,CSS和JS连接( 而不是缩小) 。 不够好为了使你的页面加载更...

    postcss-rails-asset-urls:PostCSS插件,用于为Rails资产助手交换CSS URL

    PostCSS Rails资产URL PostCSS插件,用于与适当的sass-rails帮助器交换CSS URL。 当您仍想通过Rails部署资产时,这对于在Rails管道外部进行CSS后处理器编译很有用。 这些助手在Rails管道中使用时,将作为常规Rails...

    Ruby on Rails入门例子

    Ruby on Rails,简称Rails,是一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发过程更加高效、简洁。本篇将通过一个入门实例,深入探讨Rails的基本概念和核心...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    #### 六、添加第二个路由 - **配置**:在`config/routes.rb`文件中添加新的路由规则,例如`get 'new_route' =&gt; 'controller#action'`。 - **效果**:这将在应用中增加一个新的URL路径,指向指定控制器的动作。 ###...

    Rails相关电子书汇总

    标题 "Rails相关电子书汇总" 暗示了这个压缩包包含了关于Ruby on Rails框架的电子书籍资源。Ruby on Rails,通常简称为Rails,是一个基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,以...

    Rails 101 入门电子书

    - 学习如何创建第一个Rails应用程序。 - **过程**: - 创建新项目。 - 设置数据库配置。 - 创建控制器和视图。 - 在浏览器中查看结果。 #### 六、Rails的路由 - **概念介绍**: 路由是连接用户请求URL与应用...

    webpack-rails, 将 web pack与你的Ruby on Rails 应用程序集成.zip

    webpack-rails, 将 web pack与你的Ruby on Rails 应用程序集成 不再维护webpack-rails 不再被维护。 有关详细信息,请参阅 #90. web pack-railsweb pack 为你提供了将 web pack集成到现有的Ruby on Rails 应用程序中...

    rails指南 中文版

    Rails指南中文版是针对Ruby on Rails框架的一份详尽教程,旨在帮助开发者深入理解并熟练掌握这个强大的Web应用开发工具。Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-...

    rails-dom-testing:从ActionView中提取DomAssertions和SelectorAssertions

    Rails :: Dom :: Testing 这个gem负责比较HTML DOM并断言Rails应用程序中存在DOM元素。 assert_dom_equal通过assert_dom_equal和assert_dom_not_equal进行比较。 元素通过assert_dom , assert_dom_encoded , ...

    Advanced Rails

    **高级Rails** Rails,全称为Ruby on Rails,是一款基于Ruby编程语言的开源Web应用程序框架,以其MVC(模型-视图-控制器)架构模式而闻名。"Advanced Rails" 涵盖了Rails开发中的高级主题和技术,是Ruby on Rails...

    premailer-rails:CSS样式的电子邮件,没有麻烦

    预邮栏CSS样式的电子邮件没有麻烦。介绍这颗宝珠是使用CSS样式化HTML电子邮件样式而无需自己进行艰苦工作的解决方案中的一滴。 电子邮件样式不仅是链接到样式表的问题。 大多数客户端(尤其是Web客户端)会忽略HTML...

    [Rails] Crafting Rails Applications (英文版)

    [Pragmatic Bookshelf] Crafting Rails Applications Expert Practices for Everyday Rails Development (E-Book) ☆ 图书概要:☆ Rails 3 is a huge step forward. You can now easily extend the framework, ...

    Rails 101S

    ### Rails 101S: 初学者必备的Ruby on Rails 宝典 #### Introduction: 深入了解Ruby on Rails 《Rails 101S》是一本为Ruby on Rails初学者准备的手册,旨在帮助新手快速入门并掌握基本的开发技能。本手册将从最...

Global site tag (gtag.js) - Google Analytics