目录

2638264600 的个人博客

记录精彩的程序人生

存档: 2022 年 05 月 (5)

提醒自己 有更新!

所有的善意都值得被温柔以待! 失信之言,何以信之?无诚之事,岂可见诚!

转:OWASP TOP10 网络安全威胁整理

OWASP TOP10 网络安全威胁整理 缘起 上月底到合肥参加了owasp top10网络安全宣讲。回来后结合在开发中遇到的问题整理并在部门内部做了一次分享,以下是分享内容。 01注入 描述 注入漏洞发生在应用程序将不可信的数据发送到解释器。需要考虑任何向系统发送不信任数据的人。 场景 String query = "SELECT * FROM user WHERE user_id ='" + request.getParameter("id") + "'"; 在该案例中,构造Web请求时,将参数id设为"' or '1' = '1",将得到下面的语句,绕过user_id的条件判断得到所有用户信息。 SELECT * FROM user WHERE user_id = '' or '1' = '1' 避免SQL注入,一般使用PreparedStatement进行数据库操作,将SQL语句进行预编译,经过预编译后,传入的参数将被识别为带一对引号的字符串而不是带有sql关键字的语句。 怎么做 工作中使用到的Mybatis提供两种传参数写法: select * fr....

常用 IDEA 快捷键

1、文本编辑 - 删除 ctrl + y - 复制 ctrl + d - 光标跳到类头 ctrl + home - 光标跳到类尾 ctrl + end - 光标快速移动 ctrl + <-/-> - 光标快速选中 ctrl + shift + <-/-> - 光标在类内方法头部快速移动 alt + 上下箭头 - 光标所在位置每次选中一行 shift + 上下箭头 - 内容在方法体内上下移动 ctrl + shift + 上下箭头 - 内容在类内上下移动 alt + shift + 上下箭头 2、智能提示 - 提示 ctrl + space - 智能提示 ctrl + shift + space - 完成当前语句 ctrl + shift + enter - 建议提示为参数 ctrl + alt + p - 对代码重新排列格式 ctrl + alt + l - 对imports进行优化 ctrl + alt + o 3、位置定位 - 定位到下一个或上一个错误 f2/Shift + f2 - 定位文件行 ctrl + g - 定位到代码块开始 ctrl + [ ....

转:读书笔记:【大型网站技术架构】核心原理与案例分析

前言:春节前读了这本书,原计划是春节假期就把读书笔记整理好,后来眼睛不舒服,未遂。节后经过几个晚上的整理,现将内容发上来供参考。注意本文内容只有核心原理,没有案例分析,因为设计案例分析,必须画图,否则讲不清,容以后再写。 第一章:大型网站架构演化 1.1大型网站软件系统的特点:高并发、大流量,高可用,海量数据,用户分布广泛、网络情况复杂,安全环境恶劣,需求快速变更、发布频繁,渐进式发展。 1.2大型网站架构演化发展历程 1.2.1初始阶段:应用、数据库、文件在同一台服务器上。 1.2.2应用服务和数据服务分离 1.2.3使用缓存改善网站性能,二八定理80%的业务集中在20%的数据上,缓存又分为本地缓存和分布式缓存 1.2.4应用服务器集群 1.2.5数据库读写分离 1.2.6使用反向代理和CDN加速网站响应 1.2.7使用分布式文件系统和分布式数据库 1.2.8使用NoSql和搜索引擎 1.2.9业务拆分 1.2.10分布式服务 第二章:大型网站架构模式 模式:经过验证的,描述并解决某一类问题的固有方案。 2.1网站架构模式 2.1.1分层:将系统在横向维度上切分,每个部....

代码检测的几个指标

效率 可维护性 可移植性 可靠性 可用性 efficiency maintainability portability reliability usability