云时代架构阅读笔记九——web应用存在的问题及解决办法
web应用通常存在的10大安全问题
1、SQL注入
拼接的SQL字符串改变了设计者原来的意图,执行了如泄露、改变数据等操作,甚至控制数据库
服务器, SQL Injection与Command Injection等攻击包括在内
2、跨站脚本攻击(XSS或css)
跨站脚本(Cross-Site Scripting)是指远程WEB页面的html代码可以插入具有恶意目的的数据,当
浏览器下载该页面,嵌入其中的恶意脚本将被解释执行,从而对客户端用户造成伤害。简称CSS
或XSS
3、没有限制URL访问
系统已经对URL的访问做了限制,但这种限制却实际并没有生效。攻击者能够很容易的就伪造
请求直接访问未被授权的页面
4、越权访问
用户对系统的某个模块或功能没有权限,通过拼接URL或Cookie欺骗来访问该模块或功能
5、泄露配置信息
服务器返回的提示或错误信息中出现服务器版本信息泄露、程序出错泄露物理路径、程序查询
出错返回SQL语句、过于详细的用户验证返回信息。
6、不安全的加密存储
常见的问题是不安全的密钥生成和储存、不轮换密钥,和使用弱算法。使用弱的或者不带salt
的哈希算法来保护密码也很普遍。外部攻击者因访问的局限性很难探测这种漏洞。他们通常
必须首先破解其他东西以获得需要的访问。
7、传输层保护不足
在身份验证过程中没有使用SSL / TLS,因此暴露传输数据和会话ID,被攻击者截听,或使
用过期或者配置不正确的证书。
8、登录信息提示
用户登录提示信息会给攻击者一些有用的信息,作为程序的开发人员应该做到对登录提示信
息的模糊化,以防攻击者利用登录得知用户是否存在
9、重复提交请求
程序员在代码中没有对重复提交请求做限制,这样就会出现订单被多次下单,帖子被重
复发布。恶意攻击者可能利用此漏洞对网站进行批量灌水,致使网站瘫痪
10、网页脚本错误
访问者所使用的浏览器不能完全支持页面里的脚本,形成“脚本错误”,也就是网站中的脚
本没有被成功执行。遇到“脚本错误”时一般会弹出一个非常难看的脚本运行错误警告窗口
部署网站安全防护措施:
操作系统作为抵御非法攻击的第一道防线,对确保web安全发挥着非常重要的作用。主要包括以下几个方面:对系统补丁进行实时更新,防止非法分子依靠系统漏洞进行攻击。对不必要的通讯端口进行关闭处理,以有效降低恶意攻击的入侵通口。对密码管理制度进行规范处理。对服务器上的各个登陆密码进行统一生成与集中处理。在进行软件与组件安装时,应认真谨慎,关闭不必要的服务器,以有效降低安全隐患。遵循最小权限原则设置文件系统,以有效避免跨站脚本攻击与提权操作。
云时代架构阅读笔记九——web应用存在的问题及解决办法的更多相关文章
- 云时代架构阅读笔记六——Java内存模型详解(二)
承接上文:云时代架构阅读笔记五——Java内存模型详解(一) 原子性.可见性.有序性 Java内存模型围绕着并发过程中如何处理原子性.可见性和有序性这三个特征来建立的,来逐个看一下: 1.原子性(At ...
- 云时代架构阅读笔记二——Java性能优化(二)
承接上文Java性能优化(一)https://www.cnblogs.com/guo-xu/p/11019267.html 4)尽量确定StringBuffer的容量 在说和这个标题相关之前,先说一下 ...
- 云时代架构阅读笔记一——Java性能优化(一)
Java语言学习了这么长时间之后,自己对于Java编程的一些细节还是稍微有点总结,正好根据云时代架构中<Java高级开发必会的50个性能优化的细节(珍藏版)>来叙述一些我和里面的点比较相符 ...
- 云时代架构阅读笔记十五——之前碰到的Java面试题
1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致. 2.Java有 ...
- 云时代架构阅读笔记十六——Hystrix理解
背景 分布式系统环境下,服务间类似依赖非常常见,一个业务调用通常依赖多个基础服务.如下图,对于同步调用,当库存服务不可用时,商品服务请求线程被阻塞,当有大批量请求调用库存服务时,最终可能导致整个商品服 ...
- 云时代架构阅读笔记十四——我对Hash算法的理解
Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是 ...
- 云时代架构阅读笔记十一——数据库SQL优化
网上关于SQL优化的教程很多,但是比较杂乱.近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充. 1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 ...
- 云时代架构阅读笔记七——Java多线程中如何使用synchronized关键字
关于线程的同步,可以使用synchronized关键字,或者是使用JDK 5中提供的java.util.concurrent.lock包中的Lock对象.本文探讨synchronized关键字. sy ...
- 云时代架构阅读笔记五——Java内存模型详解(一)
什么是Java内存模型 Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽掉各种硬件和操作系统的访问差异,以实现让Java程序在各种平台下都能达到一致 ...
随机推荐
- div背景图片自适应
对背景图片设置属性:background-size:cover;可以实现背景图片适应div的大小. background-size有3个属性: auto:当使用该属性的时候,背景图片将保持100% 的 ...
- 对于在MYSQL_WorkBench中创建新表时对PK NN UQ B UN ZF AI的理解
1.PK(primary key 主键) 当某项属性勾选了该功能时,该属性会作为与其他对象区别的凭证.例如我们的学号 每个人在本校都是唯一的,但姓名是可能相同的.所以学号就具有主键功能 2.NN(no ...
- 三、js提交请求加载启动动画、请求完成成功回调、注销加载动画
1.通过Query post方式进行异步请求方法 jQuery.post(url, [data], [callback], [type]) 参数说明: url:发送请求地址 data:待发送 Key ...
- for 循环遍历数据,根据不同的条件判断动态渲染页面!
整体的逻辑为:for 循环遍历出数据,在for 循环里判断,根据不同的条件渲染 一.html页面结构 二.css就不再写了 三.JS逻辑代码 var listGroup='' ;k<data.i ...
- list中会直接绑定HashMap中的数据
import java.util.ArrayList;import java.util.HashMap;import java.util.List; public class HashMapSync ...
- ExpandableListActivity
main.xml: <?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:an ...
- Python 开篇
一.Linux基础 - 计算机以及日后我们开发的程序防止的服务器的简单操作 二.Python开发 http://www.cnblogs.com/wupeiqi/articles/5433893.htm ...
- PostGIS官方教程汇总目录
一.PostGIS介绍 二.PostGIS安装 三.创建空间数据库 四.加载空间数据 五.数据 六.简单的SQL语句 七.几何图形(Geometry) 八.关于几何图形的练习 九.空间关系 十.空间连 ...
- SciPy 常量
章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...
- Pie Chart _Study
1.Select a theme 2.Experiment with visual customization 3.Creat a script 4.Name should be as defined ...