0%

出现问题

在 Vue 使用 Echarts 时,可能会遇到这样的问题,就是直接刷新浏览器,或者数据变化时,Echarts 不更新?

这是因为 Echarts 是数据驱动的,这意味着只要我们重新设置数据,那么图表就会随之重新渲染,这是实现本需求的基础。

阅读全文 »

XSS原理

XSS攻击的原理是利用前后端校验不严格,用户将攻击代码植入到数据中提交到了后台,当这些数据在网页上被其他用户查看的时候触发攻击。

举例:用户提交表单时把地址写成:

杭州市<script>for(var i=0;i<9999;i++){alert(i)}</script>

上面的数据如果没有在后台做处理,当数据被展示到网页上的时候,会在网页上弹出N个alert框,当然实际攻击肯定是比这个要复杂的多的。

阅读全文 »

接口安全

放到互联网上的接口数据,直接采用明文的话,就很容易被抓包,然后进行修改或者被恶意植入木马,本文研究一下怎么样对接口进行数据加密。

接口加密的作用:

  1. 防止恶意调用攻击
  2. 防止篡改信息攻击
  3. 防拦截攻击,数据被截取后进行修改后重新放回去
  4. 防止数据泄漏攻击
阅读全文 »

重要方法

/*获取参数的值数组*/
Object[] args = point.getArgs();                                    //  [1] 参数的值

/*获取目标对象(被加强的对象)*/
Object target = point.getTarget();

/*获取signature 该注解作用在方法上,强转为 MethodSignature*/
MethodSignature signature = (MethodSignature) point.getSignature();

/*方法名*/
String signatureName = signature.getName();                         //  findById

/*参数名称数组(与args参数值意义对应)*/
String[] parameterNames = signature.getParameterNames();            //  [i] 参数名称

/*获取执行的方法对应Method对象*/
Method method = signature.getMethod();                              
//  public void com.jueee.test.service.UserService.findById(int)

/*获取返回值类型*/
Class returnType = signature.getReturnType();                       //  void

/*获取方法上的注解*/
OperationLog operationLog = method.getDeclaredAnnotation(OperationLog.class);

request / response

// 获取request/response(ThreadLocal模式)
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) requestAttributes;
HttpServletRequest request = servletRequestAttributes.getRequest();
HttpServletResponse response = servletRequestAttributes.getResponse();
HttpSession session = request.getSession();