保护 REST 和 JSON

2024-06-19

我想利用 RESTful 架构构建提供 JSON 数据的 Web 服务。

但我只想要我自己的客户端应用程序可以从我的网络服务请求。

基本上,我的 Web 服务包含不供公众使用的敏感数据,但我想以这种方式构建它,以便我可以构建连接到我的 Web 服务的许多不同的客户端应用程序。

如果有任何想法,我将不胜感激,谢谢。


当涉及到保护 Web 服务时,它是 RESTful 或使用 JSON 的事实并不是一个相关因素。任何 Web 服务都需要以相同的方式进行保护。您应该做以下几件事:

  1. 如果可能,不要将您的 Web 服务托管在 Internet 上。例如,如果 Web 服务托管在公司的 LAN 内,则除非您专门通过路由器公开它,否则它不会公开给公众使用。
  2. 设置身份验证和授权规则。如果您在 Windows 域内托管 Web 服务,则只需使用 Windows 身份验证并根据 Active Directory 用户和组设置规则即可。其他选项包括使用 HTTP 身份验证、客户端证书身份验证,或者如果您在 .NET 中进行开发,则使用表单身份验证。
  3. 使用加密 (HTTPS),尤其是当您的网站托管在 Internet 上时。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

保护 REST 和 JSON 的相关文章

  • 过滤器链因 [:login_required] returned_or_redirected 而停止

    希望我能很好地解释这一点 但如果需要更多信息 请告诉我 我正在构建一个表单 用户可以在其中创建 事件 此次事件有如下关系 属于 客户 客户有很多事件 belongs to 用户 用户有很多事件 has one incident status
  • 无法将带有特殊字符的文件名上传到Google Drive REST

    当我尝试使用 Web 应用程序将文件上传到 google Drive api 时 出现错误 并且该文件包含带重音的字符 例如 我使用两个请求上传文件 一个初始请求包含文件信息并将 uri 返回到文件应上传的位置 后续请求包含文件本身 第一次
  • Rails 3 ActiveModel:无法直接包含 ActiveModel::Model

    在我的 Rails 3 2 11 和 开发 环境中 当我尝试拥有活动模型时 class DisponibilityApi include ActiveModel Model attr accessor start time end time
  • 当我运行 rake:db migrate 命令时,出现错误“未初始化常量 CreateArticles”

    我创建了一个模型 ruby 脚本 生成模型文章 简单就够了 这是迁移文件create articles rb def self up create table articles do t t column user id integer t
  • ColdFusion 管理员登录和密码恢复

    我最近接手了 CF 网站的开发 但在获取 CF 管理员的登录名和密码时遇到了一些问题 我希望另一个 StackOverflower 能够对获取访问权限有一些见解 我们可以访问 FTP 和任何其他托管相关详细信息 任何有用的见解将不胜感激 打
  • 为 REST Spring HATEOAS 控制器定义资源组装器

    我正在尝试将 HATEOAS 链接添加到由 Spring REST 控制器提供服务的 JSON 资源 我发现我应该使用资源汇编器 如下所述https github com spring projects spring hateoas htt
  • Grails Spring Security 插件 - 修改登录用户的权限

    我有一个简单的 Grails 应用程序 安装了 Spring Security Core 插件并且工作正常 但是 我还没有找到任何解决方案来解决在安全上下文中更新登录用户权限的问题 我不是在谈论更新当前用户的详细信息 即 springSec
  • Friendly_id 和真实ID

    有什么办法可以得到真正的id使用Friendly id 修改的模型中的列 出于性能原因 我不想对其进行另一个数据库查询 广义上来说Friendly id修改to param and find方法 接下来应该可以工作 affiche Affi
  • 计算 REST API 的 ETag

    我们正在构建我们使用的 REST APIETag https en wikipedia org wiki HTTP ETag有两种用途 通过允许客户端避免重新加载资源来节省带宽 对我们来说并不重要 解决并发问题 丢失更新问题 从实际角度来看
  • 配置 session_store.rb 来处理登台和生产?

    我的 Rails 3 1rc6 应用程序上有一个使用子域的暂存和生产环境 我为这些环境购买并配置了不同的域名 因为默认的 some something herokuapp com 不能很好地与子域配合 当我将 session store r
  • 让 PHPmailer 成为 Gmail 的“更安全的应用程序”

    我们可以在 PHPmailer 中实施哪些安全措施 使其成为更安全的 Gmail 应用程序 https support google com accounts answer 6010255 https support google com
  • RSpec:重新打开类时存根 Rails.application.config 值不起作用?

    我在应用程序配置中定义了一个选项 我想要测试的类是在 gem 中定义的 不是我编写的 我想重新开课 Myclass class eval do if Rails application config myoption value1 some
  • jruby-openssl 中已初始化常量

    当在 Torquebox 上运行我的 Rails 应用程序时 我得到了很多 already initialized constant 警告源自gems jruby openssl 0 8 2 lib shared jruby openssl
  • 将 Google 表格中的选择复制到 Google 文档中(使用 REST API?)

    我有一个 Google 表格 我使用利用 Google 的 REST API 的 python 脚本更新其内容 我想自动将该工作表的一部分复制到给定的 Google 文档中 例如 我希望该工作表的 A G 列出现在我的文档中 并在工作表出现
  • before_filter set_locale 除了控制器

    My routes rb MyApp Application routes draw do scope locale do all resources here end namespace blog do resources posts o
  • 半透明数据库

    我正在构建一个包含健康信息的应用程序 这个面向消费者的应用程序对我来说是新的 我想要一种方法来完全消除隐私问题 当我回顾保护可公开访问的数据库中的敏感数据的方法时 我经常遇到数据库半透明的概念 有原书 http www wayner org
  • 如何在 Rails 应用程序中选择性地跟踪方法及其文件访问?

    对于 Rails 应用程序 我想重载或修改 Kernel load 以便它打印出完整路径 例如puts gt File expand path File dirname FILE File basename FILE 对于加载的每个 Rai
  • 将 mongoid 会话设置为只读

    我有不同的会话mongoid yml 其中一个会话提供来自静态 mongo 数据库的数据 我想知道是否有可能以只读模式 加载 会话 以便不进行任何更改save create destroy or destroy all可以制作 我的mong
  • ulimit -r 返回不同的值

    我将以下两行添加到系统范围的 etc security limits conf 中 soft rtprio 55 hard rtprio 55 系统重新启动后 根据我在计算机上访问用户帐户的方式 我会得到两个不同的结果 user clien
  • 如何向 ActiveRecord 集合添加方法?

    我想为特定模型的所有集合添加一个方法 假设我想添加方法my complicated averaging method到 WeatherData 集合 WeatherData all limit 3 my complicated averag

随机推荐

  • 在 php、ajax 或 javascript 中加载进度?

    任何人都知道如何在系统仍在服务器端获取数据的同时在客户端显示加载进度以及完成的百分比 例如 当我在客户端按下 确定 按钮时 它会调用服务器端从数据库收集数据 整个过程可能需要2到3分钟 如何在客户端显示加载进度 大约加载完成了多少 我怎样才
  • PostgreSQL-过滤日期范围

    我是一名 SQL 开发人员 大部分时间都花在 MSSQL 上 我正在寻找一种更好的方法来过滤 PostgreSQL 数据库中的 无时区时间戳 字段 我在用着 Where DateField gt 2010 01 01 and DateFie
  • 如何在警报对话框中为图像按钮设置 onclick 侦听器

    我有一个带有 ImageButton 的布局 该布局在 AlertDialog 中膨胀 我应该在哪里 如何设置 onClick 侦听器 这是我尝试使用的代码 ImageButton ib ImageButton findViewById R
  • 生成 .tail IL 指令的简单 F# 代码是什么?

    我想看看 tailIL 指令 但我一直在编写的使用尾部调用的简单递归函数显然已优化为循环 我实际上是在猜测这一点 因为我不完全确定反射器中的循环是什么样的 我绝对没有看到任何 tail不过操作码 我在项目的属性中检查了 生成尾部调用 我还尝
  • 在 .htaccess 中更改什么以使其停止显示子域

    我有这个 RewriteEngine on RewriteCond HTTP HOST m myurlname com RewriteCond HTTP USER AGENT safa NC RewriteRule http m myurl
  • 如何使用 Guava 连接字符串?

    我写了一些代码来连接字符串 String inputFile for String inputLine list inputFile inputLine trim 但我不能使用 连接 所以我决定使用 Guava 所以我需要使用Joiner
  • Facebook Android 意图

    我对这个意图有疑问 这个意图是发送文本类型的消息 一切正常 电子邮件 短信 推特以及手机上的任何内容 但唯一有问题的是facebook 它会尝试以链接而不是文本的形式发布 Intent s new Intent android conten
  • 用 C# 制作 Vista 风格的应用程序

    我正在运行 Windows Vista 并且希望外观看起来像常规 Vista 程序 有没有关于如何构建 Vista 风格应用程序的真正好的教程 文章 我还想学习如何使用本机代码并将其转换为 C 如this http bartdesmet n
  • 使用 openssl 检查服务器安全协议

    我有一个框架应用程序 它根据使用方式连接到不同的服务器 对于 https 连接 使用 openssl 我的问题是 我需要知道我连接的服务器是否使用 SSL 还是 TLS 以便我可以创建正确的 SSL 上下文 目前 如果我使用错误的上下文尝试
  • 使用 IP 地址连接到另一台计算机

    我在计算机上安装了 NodeJS 并运行了一些测试 一切正常my机器 现在我想要一个不在同一网络中的朋友连接到我的计算机 以便 NodeJS 可以响应我朋友的请求 但我不知道 我必须在哪个IP和端口上监听 我也不知道 我必须给我的朋友哪个I
  • 为什么将 Ubuntu 升级到 22.04 后 phpMyAdmin 停止工作?

    刚刚升级到 Ubuntu 22 04 现在我的 phpmyadmin 无法加载 我收到以下错误 解析错误 语法错误 usr share php Symfony Component DependencyInjection ContainerB
  • 自动生成PHP代码的策略?

    我正在开发一个框架 在后端创建 ER 图后 该框架可以动态地对自身的各个部分进行编程 作为一名 PHP 新手 我想知道是否还有比打开一个纯 xyz php 文本文件然后将动态生成的代码添加到该文件更奇特的事情 是的 尝试一下Zend Cod
  • 在 R 中绘制对数正态概率密度

    我正在尝试在 R 中生成对数正态概率密度图 其中包含 3 个不同的均值对数和标准差对数 我尝试了以下方法 但我的图表太丑了 看起来一点也不好看 x lt seq 0 10 length 100 a lt dlnorm x meanlog 0
  • mysql 中的二进制、十六进制和八进制值

    我对在 mysql 数据库中使用二进制 十六进制和八进制系统非常感兴趣 首先 请给我一个建议 为什么我们在存储信息时需要它们 因为信息太多 或者为什么 另外 哪种类型的值必须存储在标记系统中 另外这里还有像 这是例子 gt SELECT 5
  • AngularJS 输入字段未从控制器内的 setTimeout 更新

    我正在使用 AngularJS 支持的页面 并且我需要在只读输入文本字段内显示正在运行的时钟 与data ng model 为了模拟运行的时钟 我使用了 JavaScript 调度程序setTimeout每 1000 毫秒调用一个函数 该函
  • 导出到 CSV 时 Gridview 出现空行

    这个问题是由进一步讨论引发的这个问题 https stackoverflow com questions 6674555 export gridview data into csv file 6674589 noredirect 1 com
  • 用于表示过滤的漏斗的 Unicode 字符

    是否存在在常见计算机操作系统上广泛使用的表示过滤 例如漏斗 的 unicode 字符 到目前为止我发现的一些最相似的字符 Y V
  • 抽象类或接口。哪种方式是正确的?

    有两种方法可以选择抽象类或接口 微软解决方案和Oracle解决方案 微软 设计指南 请使用抽象 在 Visual Basic 中为 MustInherit 类而不是接口来将协定与实现分离 http msdn microsoft com en
  • Android - 主页按钮发出什么意图?

    我想知道设备的主页按钮到底执行什么操作 即 当您单击主页按钮时会发出什么意图 意图类别和操作 回到空白的主屏幕 我想知道在单击我自己的自定义按钮时实现此操作涉及什么 谢谢 PS我知道这不是标准的 但我的设备也不是 如果您想显示主屏幕 可以通
  • 保护 REST 和 JSON

    我想利用 RESTful 架构构建提供 JSON 数据的 Web 服务 但我只想要我自己的客户端应用程序可以从我的网络服务请求 基本上 我的 Web 服务包含不供公众使用的敏感数据 但我想以这种方式构建它 以便我可以构建连接到我的 Web