问题标签 [data-integrity]

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 投票
3 回答
3066 浏览

python - Python:加密作为防止数据篡改的手段

我公司的许多客户在研究基础上使用我们的数据采集软件。由于一般研究的性质,一些客户要求对数据进行加密以防止篡改——如果他们的数据被证明是伪造的,可能会产生严重的后果。

我们的一些二进制软件使用存储在源中的密码加密输出文件,看起来像随机字符。在软件层面,我们能够打开加密文件进行只读操作。如果有人真的想找出密码以便更改数据,这是可能的,但工作量很大。

我正在研究使用 Python 快速开发另一款软件。为了复制加密的功能来阻止/阻止数据篡改,到目前为止我想出的最好的想法是只使用ctypesDLL 进行文件读取/写入操作,这样加密和解密的方法就“足够”了混淆了。

我们很清楚,“无法破解”的方法是无法实现的,但与此同时,我显然不喜欢仅仅在 Python 源代码中以纯文本形式放置加密/解密方法。我认为,“非常强烈地阻止数据篡改”就足够了。

使用 Python 获得快乐的加密媒介或其他数据完整性证明的最佳方法是什么? 我看到另一篇关于生成“防篡改签名”的帖子,但如果签名是在纯 Python 中生成的,那么为任意数据生成签名将是微不足道的。我们或许可以打电话回家以证明数据的完整性,但这似乎给所有相关人员带来了极大的不便。

0 投票
1 回答
331 浏览

sql - 在 Drupal 中保持数据完整性:

我碰巧在 Drupal 中开发了一个模块,由于一些看似 View 的限制,我不得不使用自定义 SQL。这让我在节点修订方面遇到了一些问题,我得出的结论是,在 Drupal 中最好使用它的本地方法来处理任何数据。否则,可能会出现数据完整性问题。

即使希望在 Drupal 中优化 SQL 查询,显然这应该在极少数情况下针对真正的瓶颈进行。

你有什么与这个困境相关的经验 - 直接 sql 查询与 Drupal 模块/功能?

0 投票
3 回答
5280 浏览

sqlite - SQLite3的数据库文件在突然断电或操作系统崩溃时会损坏吗?

我使用 sqlite3 的 open() 方法打开数据库文件并获得数据库连接,直到程序退出后连接才会关闭。如果出现计算机突然断电或操作系统崩溃等意外错误,是否会损坏数据库文件的模式,或丢失其句柄?更具体地说,如果我重新启动计算机,它可以保持可写状态吗?顺便说一句,我不关心发生错误时的数据丢失。

非常感谢你!

0 投票
1 回答
174 浏览

sql - 一列中混合日期的 SQL Select 语句是什么?

我有一个客户将遗留数据存储在 Oracle 数据库中。此类数据在数据库的一列中包含混合的 DATE 值(该字段是 VARCHAR(32))。例如,它们存储“2009 年 9 月 30 日”,有时存储“1254431689”(即纪元时间的时间戳)。

我没有选择将数据分成多列(所以我必须处理它)。

问题是 - 如何在 SQL Select 语句中动态转换数据?

0 投票
1 回答
433 浏览

atomic - Berkeley DB 使用的原子性如何?

我正在编写一个简单的应用程序,其中包含 24 个项目的哈希值,以便在程序执行中保持不变,因此 Berkeley DB (DBM) 应该非常适合这项任务。

这只是为了好玩。

但我想知道是否使用它(与 Ruby 一起使用),然后当用户按下 CTRL-C 时,执行就会停止。这种情况下,是不是数据都乱了?

例如,如果 DB 中的值为 63,我将其加 1(变为 64)

那么,当“最重要的”1 被写入但 0 还没有被写入时,CTRL-C 是否会发生?在这种情况下,DB 中的值将是 127 而不是 63 或 64。如果不是 Ruby 而是 C 语言,并且用户使用“关闭窗口”或“杀死”来终止进程怎么办?想一想,硬盘驱动器可能一次将这个字节(或4字节)全部写入硬盘表面,所以这种情况不应该发生。

如果 CTRL-C 不会导致这种情况发生,那么停电或我踢电源插头可能会导致这种情况发生?例如,当值第一次缓存在 RAM 中,当它被写入硬盘时,我踢了电源插头,硬盘驱动器在写入 0 之前就断电了。我知道百万分之一,这不会发生,但这只是好奇的问题。

另一方面,如果我的脚本是

  1. 减少硬币价值
  2. 在他的库存中给用户一个“汉堡包”

然后当用户按下 CTRL-C 时,它恰好发生在上面的 (1) 和 (2) 之间,那么用户将拥有更少的硬币,并且不会得到汉堡包。

为了防止这一切发生,那就是使用SleepyCat、SQLite或MySQL的事务方法,这些都不会发生?

0 投票
9 回答
1661 浏览

c++ - C++ Is private really private?

I was trying out the validity of private access specifier in C++. Here goes:

Interface:

Implementation:

I built this in to a static library (.a/.lib). We now have a class_A.h and classA.a (or classA.lib) pair. I edited class_A.h and removed the private: from it.

Now in another classTester.cpp:

I know that after tampering a library's header all bets are off (I mean, system integrity, etc.) Albeit the method being hacky, is this really allowed? Is there a way to block this? Or am I doing something wrong here?

0 投票
2 回答
5810 浏览

sql-server - SQL Server:如何在 COMMIT 之前忽略参照完整性?

我有一个将行从一个数据库移动到另一个数据库的过程。由于一些循环外键引用链,我无法从旧数据库中删除行,也无法将它们插入新数据库。

由于整个操作发生在事务1中,我希望 SQL Server 忽略引用完整性失败,直到我调用COMMIT TRANSACTION

例如2

如果我尝试将turboencabulator插入新表中,它会在没有marselvane的情况下失败。颠倒顺序也有同样的问题。

尝试删除旧行时,我无法删除其中一个,直到另一个被删除。

我尝试过做一个n阶段系统,其中插入所有行,并将外键约束下的任何列设置为null。然后我更新所有插入的行,放置正确的缺失值。然后,为了删除源行,我将受FK影响的所有列清空,然后删除实际行。3

我真正喜欢的是只执行我的 T-SQL 操作,并且在我尝试调用 commit 之前让 SQL Server 不告诉我。

笔记

1分布式
2人为的假设
3我不再做

0 投票
2 回答
388 浏览

mysql - 时间表工具的数据库规范化并确保数据完整性

我正在创建一个时间表应用程序。我有以下实体(其中包括):

  • 公司
  • 员工= 与公司关联的员工
  • 客户= 与公司关联的客户

到目前为止,我有以下(缩写)数据库设置:

现在,我希望员工与客户相关联,但前提是该客户与员工工作的公司相关联。您将如何保证数据库级别的数据完整性?或者我应该仅仅依靠应用程序来保证这个数据的完整性?

我想过像这样创建一个多对多表:

因此,当我为员工插入客户以及员工的公司 id 时,当客户与员工的公司 id 没有关联时,数据库应该阻止这种情况。这有意义吗?因为这仍然不能保证员工与公司有关联。你如何处理这些事情?

更新
场景如下:

  • 一家公司有多名员工。员工只会与一家公司联系。

  • 一家公司也有多个客户。客户只会与一家公司相关联。

    (公司是一个沙盒,可以这么说)。

  • 公司的员工可以链接到其公司的客户,但前提是客户是公司客户的一部分。

换句话说:
应用程序将允许公司创建/添加员工和创建/添加客户(因此在 Employee 和 Client 表中的 companyId FK)。接下来,公司将被允许将某些客户分配给它的某些员工(EmployeeClient 表)。

想象一个员工为几个客户工作,她/他可以为其编写计费时间,但不得允许该员工为他们的雇主(公司)未分配给他们的客户编写计费时间。因此,员工不会自动访问公司的所有客户,而只能访问公司为他们选择的客户。希望这对此事有更多的了解。

0 投票
3 回答
162 浏览

mysql - 我应该删除我的数据库中的禁止内容吗?

我在how to do with flagged data用户的决定面前。

被禁止的数据可能是 a image、 a wiki、 anuser以及需要像 a 一样管理的其他内容message board

我想user stats在很多情况下与我合作,寻找行为不良的用户、有很多活动的用户、拥有最佳照片的用户等等……我不确定是否删除数据并使用专用表格,例如stats_table是最好的决定。

有人可以给我一些建议吗?

谢谢

0 投票
2 回答
111 浏览

php - 高效的数据导入?

我们与很多房地产合作,在重新构建数据导入方式时,我遇到了一个有趣的问题。

首先,我们系统的工作方式(粗略地说)是我们每天运行一次 Coldfusion 进程,该进程通过 FTP 检索从 IDX 供应商提供的数据。他们将数据推送给我们。他们寄给我们的东西就是我们得到的东西。

多年来,这已被证明是相当不稳定的。

我正在 RETS 标准上使用 PHP 重新构建它,该标准使用 SOAP 方法来检索数据,这已经被证明比我们拥有的要好得多。

当谈到“更新”现有数据时,我最初的想法是只查询已更新的数据。有一个“已修改”字段告诉您上次更新列表的时间,我拥有的代码将获取过去 6 小时内更新的任何列表(给自己一个窗口,以防出现问题)。

但是,我看到很多房地产开发商建议创建贯穿所有列表的“批处理”流程,而不管不断运行的更新状态如何。

这是更好的方法吗?或者我可以只获取我知道我需要的数据吗?做不必要的处理对我来说没有多大意义。想法?