网站面临的安全问题是方方面面的,主要可概括为以下四个方面:
1)操作系统、后台数据库的安全问题
这里指操作系统和后台数据库的漏洞,配置不当,如弱口令等等,导致黑客、病毒可以利用这些缺陷对网站进行攻击。
2)Web发布系统的漏洞
Web业务常用的发布系统,如IIS、Apache等,这些系统存在的安全漏洞,给入侵者可乘之机。
3)Web应用程序的漏洞
主要指Web应用程序的编写人员,在编程的过程中没有考虑到安全的问题,使得黑客能够利用这些漏洞发起对网站的攻击,比如SQL注入、跨站脚本攻击等等。
4)自身网络的安全状况
网站服务器所处的网络安全状况也影响着网站的安全,比如网络中存在的DoS攻击等,也会影响到网站的正常运营。
1、SQL Injection
http://en.wikipedia.org/wiki/SQL_injection
http://en.wikipedia.org/wiki/Code_injection
2、使用软件工具像crul 批量注册或其他对服务器端数据库进行修改的一些操作
用复杂的验证码可以防止
3、跨站脚本攻击
跨站脚本攻击(XSS)是攻击者将恶意脚本提交到网页中,使得原本安全的网页存在恶意脚本,或者是直接添加有恶意脚本的网页并诱使用户打开,用户访问网页
后,恶意脚本就会将用户与网站的会话COOKIE及其它会话信息全部截留发送给攻击者,攻击者就可以利用用户的COOKIE正常访问网站。攻击者有时还会
将这些恶意脚本以话题的方式提交到论坛中,诱使网站管理员打开这个话题,从而获得管理员权限,控制整个网站。跨站脚本漏洞主要是由于没有对所有用户的 输入
进行有效的验证
所造成的,它影响所有的Web应用程序框架。
4、DOS./DDOS攻击
DoS即Denial Of
Service,拒绝服务的缩写。DoS是指利用网络协议实现的缺陷来耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使
目标系统服务系统停止响应甚至崩溃,而在此攻击中并不包括侵入目标服务器或目标网络设备。这些服务资源包括网络带宽,文件系统空间容量,开放的进程或者允
许的连接。这种攻击会导致资源的匮乏,无论计算机的处理速度多快、内存容量多大、网络带宽的速度多快都无法避免这种攻击带来的后果。
DDoS(Distributed Denial Of
Service)又把DoS又向前发展了一大步,这种分布式拒绝服务攻击是黑客利用在已经侵入并已控制的不同的高带宽主机(可能是数百,甚至成千上万台)
上安装大量的DoS服务程序,它们等待来自中央攻击控制中心的命令,中央攻击控制中心在适时启动全体受控主机的DoS服务进程,让它们对一个特定目标发送
尽可能多的网络访问请求,形成一股DoS洪流冲击目标系统,猛烈的DoS攻击同一个网站。被攻击的目标网站会很快失去反应而不能及时处理正常的访问甚至系
统瘫痪崩溃。
5、用大Ping包搞垮对方或者塞满网络
很久以前,一部分操作系统(例如win95),不能很好处理过大的Ping包,导致出现了Ping to Death的攻击方式
随着操作系统的升级,网络带宽的升级、计算机硬件的升级,目前,大Ping包基本上没有很大的攻击效果(分布式攻击除外),如果一定要使用Ping包去攻击别的主机,除非是利用TCP/IP协议的其他特性或者网络拓扑结构的缺陷放大攻击的力度(所谓正反馈)
6、跨站请求伪造
CSRF是指在页面中注入一些恶意代码或者链接──指向用户使用的其它站点,比如站点A。当用户访问被污染的页面时,如果刚好站点A仍处于有效认证期,则用户在站点A的数据就会被侵犯。解决方案:
protect_from_forgery :secret => "123456789012345678901234567890..."
此代码会在非get请求中添加一个security token,如果token不一致,则请求将失败。这种方式可以有效防止CSRF,当然前提是我们正确地使用了HTTP method。
日志信息泄露
默认情况下,Rails会把所有的请求信息都记录在日志文件中。那么攻击者就可以通过窃取日志文件,以得到一些秘密信息,比如登录密码、信用卡信息等等。解决方案:
filter_parameter_logging :password
这行代码就可以过滤那些不希望被日志文件记录的信息,比如password等,从而避免通过日志来泄露敏感信息。
Web应用还面临着很多其它安全问题,比如SQL注入,XSS等等。我们应该更多关注Web应用所面临的安全问题,并尽可能避免。何况,在Rails中要避免大多数问题,方法都很简单。
分享到:
相关推荐
【程序员十大技术须知】 1. XML(可扩展标记语言):XML 是现代软件开发中的核心技术,用于存储和传输结构化数据。它采用自描述的文本格式,允许数据以树形结构表示,既能存储结构化数据,也能处理非结构化数据。...
5. **开发须知**:这可能包括编码规范、调试技巧、版本控制(如Git)、软件工程原则(如SOLID)、测试驱动开发(TDD)和持续集成/持续部署(CI/CD)。理解并遵循这些最佳实践,可以提高代码质量,降低维护成本。 6....
在准备聚思鸿的WEB前端面试时,了解和掌握核心前端技术是至关重要的。文档中提到了几个关键知识点,这些都是面试中可能被考察的技能点。以下是对这些知识点的详细解释: 1. **CSS Transform: Scale** `transform: ...
【纯CSS3+SVG实现的程序员写代码动画场景特效源码】是一个利用现代Web技术创建的动态视觉效果,主要用于展示程序员编写代码的过程。这个源码是完全基于CSS3和SVG(可缩放矢量图形)构建的,无需JavaScript或其他编程...
1. **使用须知.txt** - 这个文件通常包含对解压后资源的使用指南,可能包括安装步骤、运行环境要求、版权信息、许可协议等。阅读此文件是安全使用和理解源代码的关键,能帮助开发者避免潜在问题并遵循正确的操作流程...
### Python安装与使用问题须知 在探讨Python的安装与使用过程中常见的问题时,我们首先需要理解Python作为一种广泛使用的高级编程语言,在各种开发场景中扮演着至关重要的角色。无论是数据分析、机器学习、Web开发...
加工针(c)马丁·施耐德2012这是什么? 此处理草图是Stitchy Identicons或的...程序员须知草图以Java和Javascript模式运行。 它包括用于md5哈希和用户对话框的库。 检出lib文件夹中的库源。执照此代码已获得MIT许可。
这个工具是开源的,允许开发者深入理解其内部工作原理,同时为那些想要自定义或扩展phpMyAdmin功能的程序员提供了宝贵的参考。 【描述】"PHP实例开发源码—phpMyAdmin RC2 For Linux全语言版.zip" 描述了这个压缩包...
【标签】"应用程序源码"表明这是一份可供程序员研究、学习或改造的代码,对于了解Web应用开发流程、技术选型以及编程技巧具有很高的价值。 【压缩包子文件的文件名称列表】中: - "截图.jpg":可能是应用程序的界面...
5. **模板引擎**:为了方便页面设计,Jease CMS可能会集成FreeMarker或Thymeleaf等模板引擎,让非程序员也能编辑和设计网站模板。 6. **安全机制**:作为企业级CMS,Jease CMS应该包含用户认证、授权和会话管理等...
它的语法接近C语言,使得许多程序员容易上手。PHP支持多种数据库连接,如MySQL,这使得它在构建动态网站时非常灵活。 LimeSurvey的核心功能包括: 1. **问卷设计**:LimeSurvey提供了一个直观的界面,用户可以通过...
1. **易学易用**:ASP提供了简单直观的语法,使得初学者能够快速上手,且与Visual Basic有很高的相似性,方便了VB程序员的转型。 2. **集成环境**:ASP运行于IIS(Internet Information Services)服务器之上,与...
5. **文件“使用须知.txt”**:这个文件通常会包含详细的使用指南、注意事项以及可能的限制,包括如何安装、配置引擎,如何编写模板,以及可能遇到的问题和解决方案。 6. **文件“132687802623095993”**:这个...
在这个项目中,进度条可能就是通过`<canvas>`元素实现的,程序员可以精确控制进度条的形状、颜色、动画效果。 另一个关键的HTML5元素可能是`<svg>`,它用于创建可缩放矢量图形。相比于`<canvas>`,`<svg>`更适合于...
3. **模板引擎**:博客系统可能使用了某种模板引擎,让非程序员也能自定义页面布局。这涉及HTML嵌入式脚本和模板语法的理解。 4. **用户认证和权限管理**:博客系统需要用户注册和登录,因此会涉及到用户认证机制和...
5. **使用须知**:压缩包内的"使用须知.txt"文件通常会提供关于如何安装、配置和使用OTCMS的指导。这些信息包括但不限于系统需求、数据库设置、文件权限设置以及基本的安装步骤。 6. **文件132679591440808435**:...
另一个文件"使用须知.txt"则很可能包含了关于如何安装、配置和使用这套新闻系统的说明,包括环境要求、数据库连接设置、文件上传路径等关键信息。 通过研究这个源码,开发者可以学习到PHP的MVC(Model-View-...
作为一个内容管理系统,DuxCMS的主要任务是提供一个用户友好的界面,使得非程序员也能便捷地创建、编辑和管理网站内容。其主要功能包括文章管理、分类管理、会员系统、评论互动、自定义表单、插件扩展等。这些功能的...
README.TXT通常是项目或软件包的说明文档,里面可能包含了安装指南、使用须知、版权信息等重要细节。6vv6.com可能是网站的主域名或者是该PHP程序的示例或配置文件,也可能是一个数据库配置或者站点设置文件。 详细...
WordPress则是基于PHP和MySQL构建的,提供丰富的插件和主题系统,使得非程序员也能轻松搭建和定制网站。 “lovnvns”主题的核心部分可能包括以下几个方面: 1. **风格文件(Stylesheets)**:主题的视觉样式主要由...