问题标签 [database-security]
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.
database - 发送数据库文档 ID(安全)
我有一个网络应用程序,它将对象存储在数据库中,然后根据对这些对象的更改发送电子邮件。为了调试和跟踪,我正在考虑在电子邮件元数据中包含文档 ID。这里有安全风险吗?我可以加密它(AES-256)。
一般来说,我意识到通过默默无闻的安全性不是好的做法,但我想知道我是否仍然应该小心使用文档 ID。
为清楚起见,我使用的是 CouchDB,但我认为这通常适用于数据库。
mongodb - MongoDB动态数据库
再会。我正在启动一个 Web 项目,并且正在考虑将 mongoDB 与 Java 和 Spring 数据一起使用。在这个 Web 项目中,每个用户都有一个数据库。换句话说,当用户登录时(这将是一个只包含登录信息的共享数据库),我会使用给定用户的数据库。这可能吗?最优雅的实现方式是什么?按照这个链接的例子,它使用 mongodb 的 spring 日期。
sql - 在已恢复的数据库 SQL Server 2012 上恢复数据库权限
我们正在 SQL Server 2012 数据库服务器上还原 SQL Server 2008 备份数据库。恢复顺利,文件创建完毕,数据库上线。
但不幸的是,我们对数据库没有任何权限,除了读取。过去,如果我没记错的话,我们可以从恢复的数据库中删除角色/模式,然后恢复数据库的其他权限。不幸的是,这现在不起作用......
任何人都可以帮助我们或将我们指向一个可以将安全性设置回恢复的数据库的站点吗?
mongodb - 取消授权 mongoDB 中的更改
在 MongoDB 中,如何限制对数据库的未经授权的访问和更改。如果仅通过登录凭据。那么存储在存储介质(HDD、SSD)中的数据是否加密?
sql-server - SQL Server 2012 中应用程序启动的数据类型溢出安全漏洞
简短的介绍:
不正确的应用程序验证会将无效数据传递到 SQL Server 2012 中执行的 SQL 更新语句中,从而导致应用程序无法处理的服务器端错误。从数据库安全的角度来看,这可以被利用吗?
背景:
我不是全职安全专家,并且有一个与安全相关的问题,希望有一个简单的答案。我正在使用“黑盒”方法调查“现成”Web 应用程序中的潜在安全漏洞,并且遇到了令人担忧的问题。该应用程序似乎无法验证几个 nvarchar 字段的数据输入长度,并将输入数据直接传递到数据库。即使数据违反了数据类型长度限制,应用程序也会声称一切都已成功提交。因为尝试写入导致服务器端出错并且数据没有提交到数据库,所以这似乎是一个仅基于应用程序验证的语句,而不是来自数据库的任何返回信息。
问题:
除了从无效的 SQL 插入语句中丢失输入数据的明显问题之外,这种 SQL Server 级别的数据类型长度溢出是否可以被利用来读取或写入数据库,或者创建一个内存占用循环,从而阻碍后续操作?要求?
在各种编程语言中,我知道可以利用缓冲区内存溢出在应用程序级别执行代码(“粉碎堆栈”),我想知道 SQL Server 级别的执行是否受到控制并且只会产生错误来自 SQL Server 级别的验证,或者它是否可能以某种方式包含额外的命令,如; DELETE FROM USERS;
或类似的东西,这可能会引起额外的关注。
如果您需要更多信息,请告诉我。我想有大量的文档围绕这个,但在大量搜索后无法从谷歌或其他堆栈答案中找到我需要的东西。也许答案只是“SQL Server 2012 有足够的内部验证来防止这种情况”。请指出我正确的方向。谢谢!
wordpress - 简单地使用addslashes() 和stripslashes() 来编码内容有多安全?
为 WordPress 制作一个广告管理器插件,因此广告代码几乎可以是任何东西,从好的代码到肮脏的,甚至是邪恶的。
我正在使用简单的消毒,例如:
查看时:
我正在避免base64_encode()
,base64_decode()
当我了解到他们的表现有点慢时。
够了吗?
如果不是,我还应该确保使用不良广告代码保护网站和/或数据库免受恶意攻击吗?
我很想得到您的解释,为什么您要提出建议-这也将有助于我将来决定正确的事情。任何帮助将不胜感激。
json - PostgreSQL:防止多插入时的 sql 注入
我正在寻找在表中解析、验证和插入数据的最快方法( Postgresql 9.3)。
数据是一个包含 1..N 个项目的 json 数组。
该表如下所示:
为此,我有存储过程:
(函数返回整数作为响应状态)
函数调用:
实际上,“insert..”语句要大得多——要插入 15 列,显然应该检查其中的一些列,以防止 sql 注入。
问题:有没有办法重写这个存储过程以提高性能?我应该使用准备好的语句吗?
编辑。
我构建 sql 字符串的原因是因为表分区导致表名未知。表名格式为:logs_id where id - int 是在插入之前获得的。
sql - 单个查询中的多个操作 ORACLE
我有三个通过 DBLink 远程连接的数据库,我想在三个数据库中创建一条记录。这个问题的动态是有一家公司拥有 3 家零售店,他们可以在其中销售在其他商店中找到的物品。item1 仅在retailstore1 中找到,item2 仅在retailstore2 中找到,依此类推。但是,一家商店可以出售当前在其中找不到的商品,因此它需要向其他商店提出请求,以检查是否有足够的库存。每次一家商店销售时,它都会在 LOG 中创建一个记录,但前提是它成功了。
这些是示例中使用的表。
- 零售店 #1:Items(a int)、LOG(a int, b int, c int)
- 零售店#2:Items(b int),LOG(a int, b int, c int)
- 零售店#3:Items(c int),LOG(a int, b int, c int)
现在,我想在三个商店的 LOG 中记录之前检查库存中是否有足够的商品,但这必须在单个查询或存储过程中完成,或者通过必要的步骤来实现。限制是数据库需要打开一次,执行,关闭,不再需要。
c# - 安全性:将存储过程转换为 EF6
我正在考虑将我的项目从使用 Sprox 转换为 linq (EF6),但是我有点担心数据库权限。目前,我正在为每个程序明确分配权利,除此之外没有任何其他内容。如何在 EntityFramework 中使用动态创建的查询来获得类似的安全级别?
oracle - Oracle 过程 - 调用者权限与所有者权限
我有在模式 (schemaA) 中创建的过程 (procedureA)。SchemaA 用户没有任何特权,仅授予 CONNECT 角色。ProcedureA 负责将其他模式中特定表的选择、更改、更新...权限授予特定用户。我在 oracle 文档(过程权限如何影响调用者的权限)中读到的是该过程使用所有者权限,现在我不明白 sys 用户如何调用此过程,因为 schemaA 用户没有任何权限。过程 A 是在没有 AUTHID CURRENT_USER 的情况下创建的。执行 procedureA 后,权限被正确授予。
谢谢