原创
跨站请求伪造(Cross-site Request Forgery) 在用户登陆目标网站后,后端会返回用户登陆的凭证到前端(浏览器的 cookie)。攻击者诱使用户点击某个超链接,该超链接会发送恶意请求(会携带用户的 cookie),从而冒充用户完成业务请求(发帖、盗取用户资金等)。 笔者以网站的发帖功能为案例对 CSRF 攻击进行简单的讲解。
阅读全文原创
跨站脚本攻击(Cross Site Scripting) 通过在网站中的输入框写入 script 脚本或引入 script 文件,如果网站未过滤输入内容,将会解析该脚本。 如果脚本的功能是获取网站的 cookie,cookie 中又保留一些敏感信息,则后果有可能很严重。
阅读全文原创
在网上能查找到通过 Javascript 编写俄罗斯方块的资料,而且更牛的是只需要不到百行的代码就实现了,笔者非常佩服这些牛人。佩服之余,笔者也想尝试通过 Javascript 编写俄罗斯方块。在翻阅网上的资料和代码中,发现这些代码的可读性不高,因此不能让读者很好地去理解和学习代码。因此,笔者通过本文介绍自己如何通过面向对象的思想实现该游戏。 地图:大小已经通过 css 样式确定(300px x 600px)。
阅读全文原创
最近公司项目添加新功能,上线后发现有些功能的列表查询时间很久。原因是新功能用到旧功能的接口,而这些旧接口的 SQL 查询语句关联5,6张表且编写不够规范,导致 MySQL 在执行 SQL 语句时索引失效,进行全表扫描。原本负责优化的同事有事请假回家,因此优化查询数据的问题落在笔者手中。笔者在查阅网上 SQL 优化的资料后成功解决了问题,在此从全局角度记录和总结 MySQL 查询优化相关技巧。 数据查询慢,不代表 SQL 语句写法有问题。 首先,我们需要找到问题的源头才能“对症下药”。笔者用一张流程图展示 MySQL 优化的思路:
阅读全文原创
闲暇之余在虚拟机安装了 Centos 7.2 系统,按照 《简单安装MySQL(RPM方式)》 这篇文章安装 MySQL ,发现由于包依赖的问题安装失败,于是索性在官网查询相关文档进行 MySQL 的安装。 本次安装选择 Installing MySQL on Linux Using the MySQL Yum Repository 方式
阅读全文原创
ElasticSearch是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。 索引:含有相同属性的文档集合
阅读全文原创
在公司空暇时间,笔者使用 AngularJS + SSM 方案编写一套权限控制系统。由于采用的是前后端分离的思想,前端页面服务启动的端口和后端服务启动端口不一致导致请求跨域问题的出现。在此,写下解决问题的流程。 URL 由协议、域名、端口和路径组成,如果两个 URL 的协议、域名和端口相同,则表示它们同源。 浏览器的同源策略,限制了来自不同源的 document 或脚本,对当前 document 读取或设置某些属性。其目的是为了保证用户信息的安全,防止恶意的网站窃取数据。
阅读全文原创
场景:修改某个按钮的文本和颜色 场景:往 <ul> 中添加 <li> 菜单项
阅读全文原创
类图是描述类、接口以及类之间关系的图。 类图常用来描述业务或软件系统的组成、结构和关系 类在 UML 中通常以实线矩形框表示。 矩形框中有若干分隔框,分别包含类名、属性、行为等元素。如下图:
阅读全文原创
DOM操作、面向对象、事件操作和间隔函数setInterval
阅读全文