当前位置: 首页 > news >正文

06627网页制作与网站建设代做网站多少钱

06627网页制作与网站建设,代做网站多少钱,枣阳网站建设,做企业网站时需要注意哪些地方在前后端分离的项目中#xff0c;通过session和cookie的通信一般就失去效益了#xff0c;即使这么做了也会产生著名的漏洞问题CSRF#xff08;Cross-site request forgery#xff09;#xff0c; 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。因… 在前后端分离的项目中通过session和cookie的通信一般就失去效益了即使这么做了也会产生著名的漏洞问题CSRFCross-site request forgery 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。因为cookie依赖于sessionid我们可以在浏览器中f12看到具体情形恶意攻击者就可以伪造这个id进行跨域请求会产生非常严重的后果。 所以目前后端分离的项目如果传递信息一般有两种思路一种是在后端开启共享存储的内存前端后端都可以存数据进去常见的方式是线程间通信的一种实现即Threadlocal但这种方式虽然优雅仍然避免不了内存泄漏的问题简单来讲hashmap的key没了但是value在导致这块内存无法被回收。第二种是使用token之前几乎所有的前后端项目都采用了这种交互方式后端生产token前端缓存token同一个用户每次请求都是拿着同一个token去后端验证但是token有一个很大的问题那就是签名问题很难标注token的具体信息项目如果后端分布式token的验证问题也十分繁琐。所以引入jwt做中介。Jwt解决了身份校验的问题但后端如果分布式jwt的验证总是要请求认证服务也是非常繁琐的为了解决这个问题引入了RSA非对称加密的思路只有认证服务有私钥其余的服务都是公钥公钥加密私钥解密其余服务不需要验证内容是否正确只需要使用公钥验证格式是否符合RSA的规范。 Jwt这样看来是一个非常好的信息传递包裹但是知道了共享内存不够优秀只有另一种方式来进行前后端通信了那就是第三方数据库。 我们常说的缓存redis就可以作为很好的工具。 但是redis并不能存储对象redis已经应用相当广泛了但redis本身并没有直接存储对象的方法我们可以通过转换对象的方式来存储对象。 如果redis存储对象需要序列化方案一序列化对象为二进制 使用redis接口 jedis.get(byte[] key) jedis.set(byte[] key, byte[] value) 至于序列化方式我们有很多种选择比如Java serialize,Protobuf,或者自己手动序列化都行 public byte[] serialize(Object obj);public Object unSerialize(byte[] bytes); 方案二序列化为字符串 使用redis接口 jedis.get(String key); jedis.set(String key, String value); 序列化为字符串我们也有很多选择Json(Jackson,FastJson),Xml等方式方案三转换对象为map 使用redis接口 jedis.hgetAll(String key); jedis.hmset(String key, MapString,String values); 知道了只有序列化后才能使用redis存储对象实际生产中可以使用第三方工具进行序列化比如fastjsonjackson等。 本例中使用fastjson封装成生产中的redis工具   Configuration ConditionalOnClass(RedisOperations.class) EnableConfigurationProperties(RedisProperties.class) public class RedisConfig { Bean(redisTemplate) public RedisTemplateObject, Object redisTemplate(RedisConnectionFactory redisConnectionFactory) { RedisTemplateObject, Object template new RedisTemplate(); //使用fastjson序列化 FastJsonRedisSerializer fastJsonRedisSerializer new FastJsonRedisSerializer(Object.class); // value值的序列化采用fastJsonRedisSerializer template.setValueSerializer(fastJsonRedisSerializer); template.setHashValueSerializer(fastJsonRedisSerializer); // key的序列化采用StringRedisSerializer template.setKeySerializer(new StringRedisSerializer()); template.setHashKeySerializer(new StringRedisSerializer()); template.setConnectionFactory(redisConnectionFactory); return template; } Bean ConditionalOnMissingBean(StringRedisTemplate.class) public StringRedisTemplate stringRedisTemplate( RedisConnectionFactory redisConnectionFactory) { StringRedisTemplate template new StringRedisTemplate(); template.setConnectionFactory(redisConnectionFactory); return template; } } 当我们在项目中进行应用时只需要Autowired就可以了非常方便。 当然如果用redis工具取对象还需要反序列化fastjson举例即JSON.pareObject(rts.opsForValue().get(key).toString(),xxx.class).
http://www.w-s-a.com/news/567035/

相关文章:

  • 共享农业网站建设郑州市建网站
  • 成都网站建设四川冠辰网站建设带会员系统的网站模板
  • 水果网站建设方案书wordpress get_the_category
  • 第一ppt网站官网买域名价格
  • 网站 报价单自己做的网站如何上传
  • 天津网站建立辽宁建设工程信息网2017年定额人工费系数
  • 柳州网站优化搜索引擎优化方法案例
  • 什么网站比较少人做响应式网站开发周期
  • 公司网站欢迎语工作期间员工花钱做的网站
  • 新网站该如何做网站优化呢网络营销网站设计
  • 旅游门户网站模板下载做策划网站推广怎么写简历
  • 建设隔离变压器移动网站wordpress动态导航
  • 平潭建设局网站中国免费素材网
  • 虚拟主机可以做视频视频网站吗做爰全过程免费的视频网站有声音
  • 专业做家电经销的网站网络管理系统有哪几部分组成
  • 自学网站编程网站名称需要注册吗
  • 网站后台管理系统怎么添加框安徽省工程建设协会网站
  • 雨花台网站建设wordpress找回
  • 四川哪家网站推广做的好网站开发人才需求
  • 什么网站可以找手工活做一站式服务平台官网
  • 做购物网站的步骤网站核心词如何做
  • 做品牌设计网站公司网站没做301怎么做301
  • 服务流程企业网站wordpress文章的使用
  • 网站开发组合淘宝网站开发选什么类目
  • 广东手机网站建设个人电脑做网站主机
  • 健身俱乐部网站开发文档建一个网站需要什么条件
  • 买的网站模板怎么做建设行政管理部门网站
  • 怎么让百度多收录网站关键词seo深圳
  • 陕西交通建设集团网站体检个人网站设计模板田田田田田田田田
  • ae模板网站推荐安徽建筑信息平台