首页 > 其他分享 >其它

其它

时间:2023-09-07 16:58:45浏览次数:17  
标签:其它 nginx url redis 校验 接口 访问

1. java提供接口服务, 安全怎么保证

1. 请求合法性校验,考虑采用token方式保证接口不被其他人访问

2. 数据校验,白名单方式验证数据确保不出现异常数据和注入攻击。

3. 数据加密,对数据进行加密保证其他人无法非法监听或截取。

4. 错误处理,对系统返回结果编制返回码,避免堆栈信息泄露。

5. 接口阈值,对接口访问频率设置阈值,超出设定的访问频率时返回错误码 (访问频率测试可以直接在nginx设置,也可以用redis计数器、写缓存计数的方式代码实现)。

个人实际经验:

1 用户id或第三方tokenId校验,

2 . 请求接口url权限校验(请求的url地址是否在用户有权限的url地址列表(可以存redis)中是否存在),

3、 参数校验(非空, 日期格式,ip格式, 数字极值校验, 枚举校验等)

4. 接口使用做幂等校验(例如: 使用redis对  接口的类名+ 方法名+ 参数 作为唯一值存入redis中, 并设置过期时间为三秒, 如果重redis中查询出来存在则表示重复点击了提交按钮)

5. 多部署几台服务,nginx做负载, 减小服务器压力

6. 使用redis缓存数据, 减小数据库压力

7. 对一些特殊字符做过滤替换, 前端传参时先encoding, 后端decoding, 然后特殊字符替换.

标签:其它,nginx,url,redis,校验,接口,访问
From: https://www.cnblogs.com/ladeng19/p/17685401.html

相关文章

  • 删除鼠标右击的JetBrains系列软件[Open Folder as Pycharm]与其它相同情况快捷键
    删除鼠标右击的JetBrains系列软件与其它相同情况快捷键删除方法1首先通过Win+R,输入regedit,进入注册表2按照以下路径访问HKEY_CLASSES_ROOT\Directory\Background\shell\PyCharm3找到PyCharmCommunityEdition文件夹,删除即可具体操作方法如下1查看鼠标右键快捷键,......
  • 无涯教程-进程 - 其它进程
    到目前为止,我们已经讨论了进程,进程的创建,父进程和子进程等。如果不讨论其他相关进程(如孤立进程,僵尸进程和守护进程),则将是不完整的。孤立进程当我们运行程序或应用程序时,该应用程序的父进程是shell,当我们使用fork()创建进程时,新创建的进程是子进程,而创建子进程的进程是父进程......
  • python创建虚拟环境【其它人项目】
    download他人项目-创建虚拟环境这是别人的项目打开pycahrm的终端,创建虚拟环境名字为venv【python-mvenvvenv】此时文件目录多出一个venv目录设置里面选择虚拟环境关闭pycahrm里面终端,重开会自动进入虚拟环境里面结束!......
  • windows下C++获取其它窗口中组件的信息
    抄自:https://pythonjishu.com/xfqbhrlejawmdfh/C++获得其他程序窗体控件中信息是一个比较常见的需求,例如在自动化测试、窗口助手等场景下都有可能用到。下面我们就介绍一下C++获得其他程序窗体控件中信息的方法。安装VisualStudio获得其他程序窗体控件中信息,在Windows下通过Wi......
  • 防止当鼠标点击其它窗口后,网课自动停止播放
    按下F12打开开发者工具,点击上方的元素标签,然后在右边找到EventListeners(事件监听器),在列表中找到blur,点击该项,发现有一个remove按钮,点击remove删除该事件监听器即可。  原理网站是如何知道你没有好好看视频的呢?一般是通过监听blur事件,因此这种情况下我们只需要把......
  • python教程 入门学习笔记 第7天 打印字符串拼接数值 其它类型转布尔值bool 模拟用户键
    想打印字符串拼接数值例如张三666怎么做?print("张三"+str(666))#直接将数值666转换为字符串,不用赋值也可以3)其它类型转布尔值bool布尔转换规则:所有表示空意义的数据,将被转换成False,其它数据将被转换成Truea=7 #整型数值b="nihao" #字符串c=0 #空值print(boo......
  • COUNTBLANK函数与其它COUNT家族函数的对比!
    1职场实例今天有位小伙伴想要统计一下某列数据的“空白单元格”的个数。如下图所示:A列有一列数据。A2单元格为数值,A3单元格为文本值,A4单元格为字母,A5单元格为真空值,A6单元格为由公式IF(A5="","")产生的空值,A7单元格为逻辑值,A8单元格为数值,A9单元格为文本型数值。我们想要统计一下空......
  • python教程 入门学习笔记 第6天 数据类型转换 字符串转换成数值 数值之间互转 其它类
    4、数据类型转换1)字符串转换成数值:int()-----------将值转换成整数float()-----------将值转换成小数str()-----------将值转换成字符串bool()-----------将值转换成布尔值例如:int()将值转换成整数s1="188"#字符串ns1=int(s1)#转换成整型数值print(ns1+8)#打印数......
  • 浅谈 dijkstra 与其它文章并没有谈到的一些问题
    讲一个小故逝今天做到了一道很典的题目P1875,我发现我其实并不太会,然后在我看完了题解剽题解的屑以后,我发现我对dijkstra的理解仅仅停留在它的过程,而没有深入挖掘dijkstra的正确性以及它的本质等等。所以这篇文章会从另一个角度来看看dijkstra。也许这是dijkstra的本质吧,还......
  • Figma导出源文件和其它文件的方法
    市场上设计工具层出不穷,Sketch、AdobeXD、Axure、InVision、Figma、Pixso等都是优秀的设计工具,设计师经常面临如何从设计工具中导出文件的问题。Figma软件的导出功能非常强大,因为轻量化体验受到很多设计师的喜爱。如何保存导出Figma源文件比较简单!但是如何把Figma源文件保存为......