提起安全性这个话题,大家恐怕依稀还记得Sony的PSP账户信息泄露的事故造成的重大损失。但是又隐隐觉得这事儿离我很远,无需过多考虑。也有的人会想,我们做的是企业内部系统所以不必太在意。但是,Web程序的安全性已经悄然来到你我身边,我们在使用的系统太多的并没有充分考虑安全性。这样的系统只是尚未发生事故。一旦发生事故后果相当严重。

轻者数据泄露,重者商业损失,更严重的导致商誉损失,甚至是企业倒闭。这绝不是危言耸听,且看看这些年来报道的安全门话题,哪个不是损失惨重?

今天就来说一说这个话题:企业应用的Web程序的安全性。

很多企业的应用程序喜欢使用Web来开发,一者开发相对简单,二者部署容易,三者升级方便。所以,Web往往成为企业应用开发的首选。但是由于是企业内部应用,只要不到互联网上就不会把安全当成一会事儿,而且,即使连到互联网上,开发的时候也不会过多考虑安全性。

功能永远在首位,其次是性能,安全~~花钱又多,又看不到效果,反正没出事儿...等等思维方式的影响下,安全话题就在企业开发中被一再搁置,成为一个极少被提及的话题。

然而,企业应用真的就可以忽略安全吗?真的就可以不必在意安全吗?

如果一套工资管理系统,查看工资的代码可以不需要权限就能够直接通过URL访问的话,工资数据就全部泄露了。

如果一套经销商管理系统,定期向经销商发送邮件的服务器并没有设置密码,那么任何人都可以通过这个服务器发送一些匿名邮件。

如果一套销售管理系统,生成订单的URL中没有验证码识别,那么一个机器人就可以生成无数的无效订单。

一套不安全的餐饮管理系统,在一个有WIFI的餐厅里,可能会被某个食客攻击。

一套不安全的生产管理系统(ERP),可能会被工厂里的一台手机控制。

现在的黑客技术越来越多,并不只是银行系统才需要安全机制,也不是加了数字证书Web应用就牢不可破了。

企业Web应用的安全问题不容忽视,也并不容易解决。

那么如何在开发的时候就能够很好地规避安全问题呢?(需求与报价阶段就应该和客户谈清楚,本文从略)

下面从几个能够被攻击的角度进行说明:

1. SQL注入

A. 采用preparedSQL的方式传递参数。

B. 避免社会学猜测,比如密码字段名不叫做password,pswd等容易被猜测的名称。

2. 垃圾数据

A. 后台对于所有的可输入项的数据进行校验,包括采用Radio和DropDown构建的组件。

3.防止URL滥用

A.明确标记GET和POST

4.防止批量删除数据

A. 采用权限校验

B.只提供每次删除一条数据的操作

5. CSRF攻击

A.在HTML代码中书写CSRF禁用代码

          <meta content="authenticity_token" name="csrf-param" />
          <meta content="<<略>>" name="csrf-token" />
 
6.WebService匿名访问
   A. WebService的每个访问都需要经过认证
   B. 每次认证需要有时效性
   C. 认证通过认证码进行
 
7.防止密码泄露
   A. 不在页面显示密码,不在隐含域,HTML注释,JavaScript中显示密码
   B. 不用明文传输密码
   C. 采用较强的密码策略
   D. 不用员工编号作为ID,或者姓名全拼、简拼的方式
   E. 每个人的初试密码不同,并采取暗文抄送的方式
   F. 不提供取回密码功能,只提供更改密码功能,通过有时效的URL进行处理
   G. 不会将密码发送到邮件中去
   H. 不要在Log中记录密码
 
8. 邮件服务器滥用
    A. 必须有用户名密码
    B. 只允许来自固定IP的访问
 
9. 数据库泄露
     A. 删除默认账户
     B. 修改数据库端口
     C. 数据库名称不容易被猜测
     D. 只允许来自固定IP的访问
 
10. 文件未经授权下载
     A. 下载文件的目录不能够通过URL直接访问
     B. 文件下载前必须经过权限认证
 

11. URL泄露

A. 没有权限操作的按钮不显示出来,并且相关的JavaScript也应该不出现

12. StackTrace泄露

A.不要为了维护方便而将Exception的StackTrace输出到页面上

企业应用的Web程序的安全性的更多相关文章

  1. Web应用程序的安全性问题依其存在的形势划分,种类繁多,这里不准备介绍所有的,只介绍常见的一些。

    Web应用程序的安全性问题依其存在的形势划分,种类繁多,这里不准备介绍所有的,只介绍常见的一些.  常见Web应用安全问题安全性问题的列表: 1.跨站脚本攻击(CSS or XSS, Cross Si ...

  2. 使用 Rational AppScan 保证 Web 应用的安全性,第 2 部分: 使用 Rational AppScan 应对 Web 应用攻击

    1 当前 Web 安全现状 互联网的发展历史也可以说是攻击与防护不断交织发展的过程.目前,全球因特网用户已达 13.5 亿,用户利用网络进行购物.银行转账支付和各种软件下载,企业用户更是依赖于互联网构 ...

  3. 使用 Rational AppScan 保证 Web 应用的安全性,第 1 部分: Web 安全与 Rational AppScan 入门

    前言 当今世界,Internet(因特网)已经成为一个非常重要的基础平台,很多企业都将应用架设在该平台上,为客户提供更为方便.快捷的服务支持.这些应用 在功能和性能上,都在不断的完善和提高,然而在非常 ...

  4. YbSoftwareFactory 代码生成插件【十三】:Web API 的安全性

    ASP.NET Web API 可非常方便地创建基于 HTTP 的 Services,这些服务可以非常方便地被几乎任何形式的平台和客户端(如浏览器.Windows客户端.Android设备.IOS等) ...

  5. (转)对《30个提高Web程序执行效率的好经验》的理解

    阅读了博客园发布的IT文章<30个提高Web程序执行效率的好经验>,这30条准则对我们web开发是非常有用的,不过大家可能对其中的一些准则是知其然而不知其所以然. 下面是我对这些准则的理解 ...

  6. Web程序员开发App系列 - 申请苹果开发者账号

    Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 ...

  7. 发布在IIS上的Web程序,调用服务器的COM组件

    场景大致是这样的,在工厂中分布着许多的PDA点,这些PDA点都要进行实时的扫描--打印操作.实现方法是采用网络打印机,然后服务器安装驱动,管理着所有的打印机.然后服务器,发布一个WebService, ...

  8. Web API 的安全性

    Web API 的安全性 ASP.NET Web API 可非常方便地创建基于 HTTP 的 Services,这些服务可以非常方便地被几乎任何形式的平台和客户端(如浏览器.Windows客户端.An ...

  9. (11)Web程序保存状态的几种方式,Application,Session,Cookie,ViewState

    WEb程序保存状态的方式有这样几种: 1.Application:保存在Application中的数据是全局有效的:Application里面存放的应该是访问多修      改较少并且是全局至少大部分 ...

随机推荐

  1. 转:一个C语言实现的类似协程库(StateThreads)

    http://blog.csdn.net/win_lin/article/details/8242653 译文在后面. State Threads for Internet Applications ...

  2. sqlserver2005数据库18456错误(转)

    第一步.以windows验证模式进入数据库管理器.第二步:右击sa,选择属性:在常规选项卡中,重新填写密码和确认密码(改成个好记的).把强制实施密码策略去掉.第三步:点击状态选项卡:勾选授予和启用.然 ...

  3. MySQL DBA 刚入职时如何快速拥抱新的环境

    方法何其多.这里介绍的是懒人做法.也就是.借助工具   但是.生产环境是不能随便安装程序的.肿么办?   没关系.我们伟大的percona 已经为我们考虑周详鸟      这里.我们要借助三个工具:  ...

  4. CSS3—三角形

    话不多说看效果:演示效果,runjs 1.加了宽高和border,边用不同颜色显示,每条边都是一个梯形 2.去掉宽高,每条边都是三角形 3.只显示其中一条边就是不同的三角形了,是不是很简单,改变bor ...

  5. 极其简单的使用基于gulp和sass前端工作流

    简单的记录自己如何在实际工作中使用gulp和sass的.我的原则是,小而美! gulp与sass介绍 gulp 什么是gulp?和Grunt一样,是一种任务管理工具:和Grunt又不一样,gulp是一 ...

  6. Lombok(1.14.8) - @Log

    @Log @Logs,生成一个日志对象. package com.huey.lombok; import lombok.extern.java.Log; @Log public class LogEx ...

  7. Linux 命令 - grep: 正则搜索文本

    grep 搜索文本文件中与指定正则表达式匹配的行 命令格式 grep [OPTIONS] PATTERN [FILE...] 命令参数 Generic Program Information --he ...

  8. 深入理解Java虚拟机博客参考目录

    参考博客:注明请注明出处 深入理解Java虚拟机读书笔记之:第5章 Java虚拟机(Java虚拟机内部结构图,很重要) 深入理解Java虚拟机读书笔记之:第6章 Java class文件: <深 ...

  9. Java 读写XML文件 API--org.dom4j

    om4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,同时它也是一个开放源代码的软件 ...

  10. random between [a,b]、(a,b]、[a,b)

    #include <iostream> #include <ctime> #include <cstdlib> using namespace std; ; /*c ...