一、客户端脚本安全
(1)跨站脚本攻击(XSS):
XSS攻击,通常指黑客通过“html注入” 篡改了网页,插入了恶意的脚本,从而在用户浏览网页的时候,控制用户浏览器的一种攻击。
最常见的XSS攻击就是通过读取浏览器的Cookie对象,从而发起“cookie劫持”,当前用户的登录凭证存储于服务器的session中,
而在浏览器中是以cookie的形式进行存储的,cookie被劫持后,意味着攻击者可以不通过密码而直接登录系统。我们也可以直接在浏览器中输入脚本javascript:alert(document.cookie)来获取当前cookie值。
为cookie植入HttpOnly标识。
解决方案:<Context docBase="E:\tomcat\apache-tomcat-6.0.24/webapps/netcredit" path="/netcredit" reloadable="false" useHttpOnly="true"/>
或者:在web.xml 中 加入
<session-config>
<cookie-config>
<http-only>true</http-only>
</cookie-config>
</session-config>
二、服务器端应用安全
1、SQL注入攻击:
Sql注入的的两个关键条件:第一个是用户能够控制输入;第二个是原本程序要执行的代码,拼接了用户输入的数据。PreparedStatement与Statement
2.关闭web服务器的错误回显功能,这样可以防止攻击者对系统进行攻击后,通过回显的详细错误信息对攻击内容进行调整,对攻击者提供极大的便利。
我们在项目的web.xml文件中添加以下示例代码
<error-page>
<error-code>400</error-code>
<location>/error400.jsp</location>
</error-page>
3.数据库自身使用最小权限原则,系统程序不使用最高权限的root对数据库进行连接,而是使用能满足系统需求的最小权限账户进行数据库连接,
而且多个数据库之间使用不同的账户,保证每个数据库都有独立对应的账户。
4、认证与会话管理
登录使用验证码、限制密码错误次数,如果超过次数可以限制该ip一段时间内不可登录。
给Session设置了一个有效时间,来保证在有效时间后Session将自动销毁,以防止Session长连接所带来的安全隐患
<session-config>
<session-timeout>30</session-timeout>
</session-config>

三、文件上传漏洞
文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过脚本文件获得了执行服务器端命令的能力,这样将会导致严重的后果。
可以通过控制对上传文件详细的格式验证控制脚本文件上传;如果以上验证都成功通过,本系统在对文件进行存储时会将文件名进行重命名处理,
并且设置相应的web服务器,默认不显示目录。因为文件上传如果需要执行代码,则需要用户能够访问到这个文件,因此使用随机数改写了文件名,
将极大的增加攻击的成本,甚至根本无法成功实施攻击。

web 安全的更多相关文章

  1. C# Web应用调试开启外部访问

    在用C#开发Web应用时有个痛点,就是本机用VS开启Web应用调试时外部机器无法访问此Web应用.这里将会介绍如何通过设置允许局域网和外网机器访问本机的Web应用. 目录 1. 设置内网访问 2. 设 ...

  2. 网页提交中文到WEB容器的经历了些什么过程....

    先准备一个网页 <html><meta http-equiv="Content-Type" content="text/html; charset=gb ...

  3. 闲来无聊,研究一下Web服务器 的源程序

    web服务器是如何工作的 1989年的夏天,蒂姆.博纳斯-李开发了世界上第一个web服务器和web客户机.这个浏览器程序是一个简单的电话号码查询软件.最初的web服务器程序就是一个利用浏览器和web服 ...

  4. java: web应用中不经意的内存泄露

    前面有一篇讲解如何在spring mvc web应用中一启动就执行某些逻辑,今天无意发现如果使用不当,很容易引起内存泄露,测试代码如下: 1.定义一个类App package com.cnblogs. ...

  5. 对抗密码破解 —— Web 前端慢 Hash

    (更新:https://www.cnblogs.com/index-html/p/frontend_kdf.html ) 0x00 前言 天下武功,唯快不破.但在密码学中则不同.算法越快,越容易破. ...

  6. 使用 Nodejs 搭建简单的Web服务器

    使用Nodejs搭建Web服务器是学习Node.js比较全面的入门教程,因为要完成一个简单的Web服务器,你需要学习Nodejs中几个比较重要的模块,比如:http协议模块.文件系统.url解析模块. ...

  7. 一步步开发自己的博客 .NET版(11、Web.config文件的读取和修改)

    Web.config的读取 对于Web.config的读取大家都很属性了.平时我们用得比较多的就是appSettings节点下配置.如: 我们对应的代码是: = ConfigurationManage ...

  8. Web性能优化:What? Why? How?

    为什么要提升web性能? Web性能黄金准则:只有10%~20%的最终用户响应时间花在了下载html文档上,其余的80%~90%时间花在了下载页面组件上. web性能对于用户体验有及其重要的影响,根据 ...

  9. Web性能优化:图片优化

    程序员都是懒孩子,想直接看自动优化的点:传送门 我自己的Blog:http://cabbit.me/web-image-optimization/ HTTP Archieve有个统计,图片内容已经占到 ...

  10. 使用ServiceStack构建Web服务

    提到构建WebService服务,大家肯定第一个想到的是使用WCF,因为简单快捷嘛.首先要说明的是,本人对WCF不太了解,但是想快速建立一个WebService,于是看到了MSDN上的这一篇文章 Bu ...

随机推荐

  1. rsync+inotify实现远程数据备份

    一.rsync的基本介绍 1.  什么是rsync Rsync是一款开源的.快速的.多功能的.可以实现增量的本地货远程数据镜像同步备份的优秀工具,Rsync使用与unix,linux,windows等 ...

  2. 自定义actionbar标题

    这是我自己封装的一个activity,主要作为所有Activity的基类,可以一键关掉所有的activity, 并共享一个自定义actionbar.直接切入主题吧. 第一步就是创建自定义标题的布局文件 ...

  3. JSF中使用jquery拦截ajax请求

    jsf提供一个内置的jsf.ajax.request方法给我们使用,如果在jquery中使用,则需要做一些更改.  此处因为使用jquery,所以可以不必在控件中添加onclick方法了,可以给控件配 ...

  4. Asp.Net异步编程-使用了异步,性能就提升了吗?

    Asp.Net异步编程 写在前面的话,很久没有写Blog了,不对,其实一致就没有怎么写过.今天有空,我也来写一篇Blog 随着.Net4.5的推出,一种新的编程方式简化了异步编程,在网上时不时的也看到 ...

  5. easyui的datagrid行的某一列添加链接

    通过formatter方法给easyui 的datagrid 每行增加操作链接. 效果图 jsp代码: <th field="url" width="100&quo ...

  6. bfc+css

    CSS BFC的定义 是 W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用.在创建了 Block Formatting Context 的元素 ...

  7. 一步一步hadoop安装

    部署hadoop集群 1.下载jdk1.6,从http://www.oracle.com/technetwork/java/javase/downloads/java-archive-download ...

  8. C# .NET 隐藏窗体

    隐藏窗体,打开窗体后如果想让它隐藏,然后再显示出来,就判断是不是NULL或者有没有关闭,不然就NEW一个出来,否则就SHOW出来. 当然如果有隐藏的话退出的时候最好用Application.Exit( ...

  9. 在RHEL6p5中设置网卡

    前提: 在用ifconfig -a查看时已经显示出wlan0(无线网卡)的存在(即不用装驱动,驱动另记) 工具: 1.yum install wpasupplicant* 2.yum install ...

  10. 用Win7自带的磁盘管理工具给硬盘分区

    最近新买了一台笔记本,要给硬盘分几个区,心想还是用个工具方便点,于是就上网准备下个“硬盘分区魔术师”,但是看到有一篇文章介绍Win7系统也自带了硬盘分区工具,这我以前倒没听说过,试了一下,还挺方便好用 ...