问题标签 [data-protection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
78 浏览

c++ - 您应该对复杂数据类型使用访问器吗?

您应该对复杂数据类型使用访问器吗?这是一个例子:

假设我有一个Player类,里面有一个Sprite对象。假设该Sprite对象有一个setPosition()访问器方法。现在假设我想通过播放器调用该方法,所以我SpritePlayer.

现在假设我创建了一个“播放器”对象,我setPosition该如何调用sprite?我不能说playerObject.getSprite().setPosition();是因为方法返回的Sprite引用getSprite()是 const。

考虑到该对象具有针对其所有成员的保护,我是否应该sprite在这种情况下公开该对象?sprite或者这是一种不好的做法,我确实需要使用访问器?

0 投票
1 回答
5262 浏览

ios - Xcode 数据保护

自 Xcode 5.0 发布以来,CapabilitiesXcode 项目的目标设置中出现了新版本的选项卡。它包括在您的项目 App ID 上配置权利的能力。其中一项功能是Data Protection. 启用目标设置中的设置不仅仅是:

将“数据保护”权利添加到您的 App ID

我如何在我的应用程序中实际实施数据保护?数据保护的应用有哪些?它会加密我所有的应用程序数据吗?

0 投票
1 回答
1963 浏览

c++ - 程序关闭时防止用户编辑文本文件

我需要编写一个处理简单数据库的程序。我的目标是简单地将内存中的所有数据写入 .txt,然后在程序开始时将其全部读入。我希望能够防止用户在程序之外编辑 txt 文件。

需要考虑的一些事情: - 我希望这个解决方案是可移植的(不是多平台,只是在 Windows 上,但我不想要任何我必须手动设置或额外依赖软件的安全设置) - 预防方法不需要极端,我只需要它不要像打开 txt 并自由编辑它一样琐碎。

我目前的计划是: - 我想用程序在读/写时内置的密码来屏蔽数据,因此在维护密钥的同时难以轻松编辑。- 我将在读取时间进行数据验证,以确认密码密钥,当然数据是合法的。

我的问题: - 用户可以打开 txt 并将值更改为另一个合法数据

我想要什么: - 一些互斥锁,例如 windows api 将支持的锁定功能,我可以以可移植方式(在 windows 平台内)进行编码,只要用户具有可重新分发的可视 c++ 即可运行。(但我会采取任何帮助)

感谢您的阅读,我希望看到一些输入:)

编辑:

我想知道,由于默认情况下 Windows 平台支持 zip,是否可以写入 .zip 容器,该容器可以在创建 .zip 时加密,然后在程序中使用密钥访问?如果可行,我认为这将是一个理想的解决方案

0 投票
2 回答
1445 浏览

ios - 如何测试 iOS 数据保护?

我有一个应用程序,我在开发人员门户和目标的项目功能部分都启用了数据保护。我创建了新的配置文件并将它们同步到我在 Xcode 中的帐户。然而,当我构建我的项目并下载文件时,我仍然可以使用 IExplorer(一种用于在 iOS 设备上浏览文件系统的工具)查看它们。我错过了什么吗?我了解当设备被锁定并有密码时,这些文件是无法访问的。我的印象是这一切现在都是使用 Xcode 5.1 自动处理的,所以当我的文件被写入时,没有 Entitlements.plist 文件或任何编码来处理这个问题。

更新

此代码用于在下载文件时创建和编写我的文件。我想知道是否NSFileHandle有自己的内部文件创建方法。这是实用程序代码:

如果我对此进行调试,我可以看到它NSFileProtectionCompleteUnlessOpen用作其首选的保护技术。但是,是吗?还是NSFileHandle只是废弃所有这些工作?

更新更新

看来您确实需要创建NSFileHandle要处理的文件。所以我仍然卡住了。为什么数据保护似乎不起作用?

0 投票
1 回答
2979 浏览

ios - 创建 Apple App ID 时,“数据保护”权利有什么用?

我一直在我的 iOS 应用程序中使用最好的数据保护。这意味着我保存了所有文件,并带有“解锁时可用,仅限此设备”的标志。那时这“刚刚奏效”。现在我发现在创建 App ID 时有一个新设置(见屏幕截图),我可以在其中显式启用数据保护。

这就是我对新选项的理解。有人可以确认吗?

  • 如果启用它,似乎文档文件夹中的所有文件都将使用选定的保护模式自动受到保护。正确的?
  • 如果它被禁用,我仍然可以使用设置标志NSFileManager吗?

在此处输入图像描述

0 投票
1 回答
862 浏览

javascript - 如何在单页应用程序中处理敏感数据

我需要了解单页应用程序,也许还有一些想法。

我想创建一个项目,我会用 MVC 来做。我还想使用 AngularJS 进行客户端编程。

我知道 AngularJS 适用于单页应用程序,并且在使用 SPA 时,您可以将数据发送到 API 进行处理。但是从 Angular 发送的数据对用户是可见的并且可以被操作。

我不希望用户能够看到任何数据或从 Internet 访问 API。我应该遵循的女巫方式?

我正在考虑将敏感的用户数据保存在 MVC 控制器中。例如,假设用户 ID 对我的项目非常敏感。如果我将用户 ID 保留在 javascript 变量中,当我使用某些命令将其发送到 API 时,用户将能够更改 ID 并操纵系统。但是,如果我通过用户身份验证将用户 ID 保留在 MVC 控制器中,并向我的 MVC 控制器发送请求,那么用户将无法更改它。但我知道这不是最好的做事方式,必须有更聪明的方式。

如果有人能解释这些东西在 SPA 中是如何工作的,或者当你一起使用 Angular 和 MVC 时,我会很高兴。

0 投票
2 回答
566 浏览

encryption - 在winrt中加密数据的简单方法

我正在尝试使用 Windows RT 加密字符串。之前可以ProtectDatasystem.security命名空间中使用,但在 WinRT 中不存在。我尝试使用以下代码,但它不起作用。

编辑:例外是

提供的句柄无效。(来自 HRESULT 的异常:0x80090026)

加解密时出现在第3行

0 投票
4 回答
8610 浏览

ios - 在 iOS 中使用 Core Data 保护数据

我有几个关于保护我的应用程序数据的问题:

1) 我需要通过 加密我存储的所有数据Core Data,但我没有找到实现这一目标的起点。在核心数据编程指南中,他们说:

Core Data 不保证来自不受信任来源的持久存储的安全性,也无法检测文件是否被恶意修改。SQLite 存储提供比 XML 和二进制存储稍好的安全性,但不应将其视为天生安全。请注意,您还应该考虑存储元数据的安全性,因为元数据中存档的数据可能会被篡改,而与存储数据无关。如果要确保数据安全,则应使用加密磁盘映像等技术。

这并没有让我清楚我应该做什么......我也看过安全概述但是这个文件似乎没有处理Core Data. 但是,他们提到Data Protection了安全文件,但我不确定这是否是我真正想要的......我应该使用Data Protection适用的SQLite文件Core Data吗?

我需要一些关于如何加密所有Core Data存储数据的指导,请

2)最好将用户的密码存储在钥匙串中,而不是使用加密和存储它们Core Data

提前致谢

0 投票
2 回答
5537 浏览

amazon-s3 - 用于在 S3 中恢复版本化已删除文件的命令行工具?

我在我的 S3 存储桶中启用了版本控制,如何使用命令行 S3 客户端(例如s3cmd )恢复已删除的文件?如何浏览不同版本的文件?到目前为止,我已经退回到免费软件 Cloudberry Windows 客户端来实现这一点。我知道我也可以使用Boto Python library,但我更喜欢一个通用的命令行工具。

0 投票
1 回答
307 浏览

ios - iOS 数据保护不适用于已安装的应用程序

我想在我的应用程序中打开“数据保护”。另外,我想检查它是否可以与现有应用程序一起使用,因为我最初没有使用它。为了测试这一点,我使用了开发人员配置文件。首先,我在启用密码的设备中安装了之前的应用程序(DataProtection 已关闭),并确保用户的文档在 Documents 文件夹中可用。然后我在我的配置文件中打开了数据保护,并使用新的配置文件重建了应用程序。然后我将它安装在以前的应用程序之上。然后我锁定了设备并使用 Xcode 下载了应用程序沙箱,发现我可以毫无问题地访问沙箱。我做了几次,但沙盒仍然可以访问。

然后我删除了该应用程序并重新安装了已打开数据保护的应用程序。然后我下载了应用程序沙箱,我注意到沙箱中的所有文件夹(包括 Documents 文件夹)都是空的。

这意味着数据保护仅适用于新安装的应用程序。我做错什么了吗?我也想在我现有的应用程序上打开数据保护。我怎样才能做到这一点?