开发过程中需要注意的安全问题
2017-09-30 00:00
459 查看
摘要: 开发过程中常见的安全问题
解决方法
对
在
使用
开发过程中常见的安全问题
必要系统参数需要加密
java 开发,一般都使用spring,比如jdbc等系统参数参数我们通常会抽出一个jdbc.properites,大部分情况 jdbc.properties 中的数据都是明文展示的。这样假如我们的服务器被攻破那么数据库相关数据也基本可被攻击者完全查看到。解决方法
对
jdbc.properties中的必要数据做加密,不要在
jdbc.properties显示重要的明文信息。
在
spring.xml中需要引入
jdbc.properties并对相关信息进行解密。这样就无法通过
<context:property-placeholder location="classpath*:conf/*.properties" ignore-unresolvable="true"/>通过这种方式来引入相关配置文件。而需要通过配置
bean,并在
bean对相关数据进行解密。
spring.xml <bean class="com.adups.dbencrypt.EncryptPropertyPlaceholderConfigure" p:locations="classpath*:conf/*.properties" p:ignoreUnresolvablePlaceholders="true"> </bean> EncryptPropertyPlaceholderConfigure.java public class EncryptPropertyPlaceholderConfigure extends PropertyPlaceholderConfigurer { private String[] encryptPropNames = {"jdbc_url", "jdbc_username","jdbc_password"}; protected void processProperties(ConfigurableListableBeanFactory beanFactoryToProcess, Properties props) throws BeansException { try { for (String prop : encryptPropNames) { String url = props.getProperty(prop); if (url != null) { props.setProperty(prop, DbEncryptUtils.getDecryptString(url)); } } super.processProperties(beanFactoryToProcess, props); } catch (Exception e) { e.printStackTrace(); } } }
文件上传限制
文件上传必须对文件格式做限制,防止用户上传脚本木马。针对文件上传后展示最好使用nginx,针对tomcat不能让用户上传jsp文件。假如用户上传jsp文件,并调取上传的这个jsp,如果这个jsp经过tomcat解析,那么用户就可以通过上传jsp脚本木马获取到部署代码,并获得服务器。java 执行shell 需要对特殊字符做过滤
如果在java 程序中需要调取liunx shell 命令,那么在执行命令之前对用户传入的参数中的特殊字符(" ' | )等做限制和替换。XSS漏洞
java web 一般使用 filter (XSSRequestWrapper)对请求参数进行参数格式化,过滤可能存在xss漏洞的参数。但是这个方法对 form 表单类型为multipart/form-data是没有效果的。所以针对form为
multipart/form-data时,需要单独进行XSS处理。
获取IP
我们从网上找java获取ip的代码,会发现很多代码都是从 request 的头中解析ip。但是这种方式很不安全,用户可以手动设置这些值导致ip获取不准确。使用
request.getRemoteAddr();获取实际IP。
服务器权限
针对一个服务器可能需要部署很多应用比如tomcat mysql nginx 等。针对不同的应用我们最好配置不同的用户,并严重控制每种用户的权限。相关文章推荐
- 开发网站需要注意的安全问题
- PHP开发需要注意的安全问题
- PHP开发需要注意的安全问题
- 开发微信公众平台时需要注意的安全问题
- libcurl多线程下载开发过程中需要注意的一个问题
- Web开发过程中需要注意的问题总结
- 【struts2】开发过程中遇到的需要注意的小问题的原因与解决方法
- 直播APP开发过程需要哪些技术和需要注意哪些问题?
- ARM开发过程中最最需要注意的问题
- PHP开发需要注意的安全问题
- iOS开发过程中需要注意的问题
- 开发微信公众平台时需要注意的安全问题
- ARM开发过程中最最需要注意的问题
- 浅谈Android开发中需要注意的安全问题
- java安全问题(开发过程中一定要注意!十大漏洞)
- Web开发中需要注意的安全问题
- 开发网站需要注意的安全问题
- WEB开发中需要注意哪些安全问题?
- Web开发过程中要注意的问题