zoukankan      html  css  js  c++  java
  • 面试刷题27:程序员如何防护java界的新冠肺炎?

    安全头盔

    背景

    安全是软件设计的第二个非功能性需求,一般是当软件出现安全问题的时候才会得到重视。

    最明显的比如 数据库用户信息和密码泄漏等;

    数据加解密技术

    单向加密

    md5+salt值, 这个是软件设计中使用的比较多的。

    但是要预防彩虹表的解密,在加密前校验密码的规则,符合安全等级。

    对称加密

    编程中用的比较多的是RSA加密,即增加一个秘钥。可以通过秘钥进行加解密。

    效率比较高。安全性也比较高,但是要预防秘钥的泄漏。

    非对称加密

    即使用证书,公私钥对,一般是使用公钥解密,私钥加密;

    比如数字证书,对外发的文件,通过私钥加密,拿到公钥可以解密,也可以确定文件的可靠性。

    HTTPS: 是一种综合利用非对称和对称加密的协议。

    首次建立连接使用 私钥生成一个秘钥,客户端拿到证书之后,使用它对传输内容进行加密,服务端使用秘钥进行解密。兼顾了效率和安全。

    http攻击和防护

    SQL注入

    在参数中加入非法的sql,直接传递到数据库执行,达成攻击目的。

    预防方法:使用PrepareStatement

    XSS

    即把攻击脚本当成数据保存在服务端,其它用户使用该数据的时候,会转换成攻击脚本,泄漏用户信息等。

    预防方法:增加请求过滤;设置web防火墙;

    小结

    实际工作中如何保证软件系统的安全:

    1. 增加代码层面的请求过滤;

    2. 及时更新各种软件和组件的版本,修复安全漏洞;

    3. 对数据进行加密,及时出现问题也对数据安全进行了保护。

    小结脑图

    原创不易,点赞关注支持一下吧!转载请注明出处,让我们互通有无,共同进步,欢迎沟通交流。
    我会持续分享Java软件编程知识和程序员发展职业之路,欢迎关注,我整理了这些年编程学习的各种资源,关注公众号‘李福春持续输出’,发送'学习资料'分享给你!

  • 相关阅读:
    div中嵌套div中使用margin-top失效问题
    thinkphp点击导航变色
    thinkphp I() 方法
    判断是手机端还是电脑端 isMobile()
    手机端H5 header定义样式
    AR.Drone 2.0四轴飞机体验:最好的玩具航拍器
    这是一个专注于电脑技术、软件应用、互联网、嵌入式,电子技术行业等的原创IT博客
    ul li列子
    [HTML]去除li前面的小黑点,和ul、LI部分属性
    Bad update sites
  • 原文地址:https://www.cnblogs.com/snidget/p/12626811.html
Copyright © 2011-2022 走看看