问题标签 [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.

0 投票
1 回答
118 浏览

sql-server - 编写将服务器角色授予 SQL Server 登录的脚本

我有一个在 SQL Server 中创建登录的脚本,如下所示:

是否可以在此脚本中添加服务器角色的授予?我想向该用户授予 sysadmin 服务器角色

0 投票
3 回答
716 浏览

php - 在zend框架2中隐藏数据库密码

我有一个使用教义2的zend项目。

我的问题是我无法禁用敏感数据的错误。(即当数据库连接失败时会显示错误,包括密码)。

到目前为止,我尝试的是更改公用文件夹中的 index.php 文件,如下所示:

我需要做什么来禁用此类错误并隐藏敏感数据?

0 投票
1 回答
322 浏览

php - 处理通过应用程序的数据流的正确方法

这可能会被标记为重复,但在我的辩护中,我已经搜索了一段时间,我发现的很多信息都与mysqlmysqli充其量是相关的,或者是不完整的。我想要一个全面的、最新的答案,该答案会影响使用PDO和准备好的陈述。

在数据通过应用程序时处理数据的正确方法是什么。

以下理论数据流是否足够,如果不是,您会建议哪些改进?

  1. 正确的表单验证客户端。
  2. 使用$_POST而不是$_GET
  3. 在 PHP 中,$variable = htmlentities($_POST['variable']);在数据库插入之前使用。
  4. usingPDO和prepared 语句,例如bindValue(':variable', $variable)
  5. 在输出时,echo htmlspecialchars($variable);用于防止 XSS 攻击。

两个相关问题:

  • 假设您在htmlentities()插入数据库之前使用数据。如果用户输入 say ,您如何还删除所有插入的垃圾<p>my input value</p>。这写入:&lt;tr&gt;&lt;p&gt;my input value&lt;/p&gt;&l到数据库。
  • 如果您的 php 返回由 AJAX 处理的 JSON 数组,那么在这种情况下如何处理输出?这在 PHP 中不起作用: htmlspecialchars($JSON_Array)

提前感谢您对此的帮助。

0 投票
1 回答
5501 浏览

orm - 学说 2 orm 和 sql 注入

在学说 2 中,如何在使用 ORM 时防止 sql 注入?我在教义网站上找到了以下页面:http: //docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/security.html

然而,这是关于 dbal 而不是关于 ORM。

假设 $id 是发布值,使用下面的内容是否安全?

或者使用这样的命名参数创建查询是否更好:

请注意,我不只是寻求是或否的答案,而是是否有一些权威文档可以确保这是可以的。

0 投票
1 回答
372 浏览

mysql - 在 Windows Server 2008 R2 中的 MySQL 上使用 TDE

我一直在寻找一些将 TDE 引入 MySQL 的解决方案。我发现这个问题以前在这里问过。

但问题似乎是关于为安装在 Linux 环境中的 MySQL 数据库启用 TDE 解决方案。

就我而言,我需要一个安装在 Windows Server 2008 R2 环境中的 MySQL 的 TDE 解决方案。

我找到了NetLib,它似乎对我有用。问题是,还有其他选择吗?另外,NetLib 好吗?

编辑:

所以现在使用 TrueCrypt 和 MySQL 是可能的。但是,除此之外还有其他选择吗?可能是经过审计的?

0 投票
1 回答
3932 浏览

sql-server - 如何从域管理员那里保护 SQL 数据库?

我有一个我想保留在主域上的数据库,但阻止域管理员写入它。读取访问不是问题。为此,看起来我必须确保任何具有写入权限的帐户仅使用 SQL 登录名(因为域管理员可以重置任何其他域帐户的密码)。我确实意识到这还有其他安全隐患。另一个问题是,Windows 服务器上的管理员获取数据库 mdf 文件并将其附加到另一个实例并修改数据库内容,然后替换原始服务器上的 mdf。我首先想知道这是否可能,还是需要通过 sql server 重新附加?

由于服务器仍在域上,域管理员显然是服务器上的管理员。他们是否有其他方法可以获得我应该担心的数据库的写访问权限(例如删除主数据库 mdf)?

0 投票
1 回答
81 浏览

java - SQL Server 2008 连接问题

所以我正在开发一个使用 SQL Server 2008 数据库的项目。它使用 Java 和 Hibernate。上周我正在做一些工作,它工作(相对)很好。我今天回到它,突然间 Hibernate 无法登录或连接到数据库。我怀疑问题出在 SQL Server 中,因为我尝试使用 JDBC 连接到它,但这也不起作用。

服务器身份验证设置为“SQL Server 和 Windows 身份验证模式”

我的用户“dummy”和“root”对所有显式权限都有“Grant”检查。

我输入的用户名和密码是正确的。我知道这一点是因为我可以使用这些登录名登录 SQL Server Management Studio 并运行查询。

该数据库位于 Windows XP 虚拟机上,我在主机上使用 Eclipse。我有端口转发和 Oracle VirtualBox 设置的一切(就像我说的,上周工作正常)。

有什么建议么?

--EDIT--
见原帖下方的评论

---编辑---
我发现了。我的 Java 项目甚至没有连接到 SQL Server。当我使用 .udl 测试登录失败时,会为失败的登录创建一条日志消息。但是,每当我无法在主机上使用我的 Java 项目登录时,就会创建日志。
我还应该指出,我可以连接到在同一 VM 上运行的 MySQL 数据库并在其上运行查询。
这个 URL 字符串有问题吗?"jdbc:sqlserver://192.168.56.1:1433;databaseName=MLB;user=dummy;password=123"
我可以确认 IP 地址、端口号、数据库名称、用户名和密码都正确。

0 投票
3 回答
1165 浏览

php - 是否可以阻止用户下载 SQLite 文件?

我从这里学习 SQLite3 ;它非常好且可移植,但是如果有人以某种方式知道数据库文件名test.db,然后简单地下载它怎么办?

可能它会比 SQL 注入更危险,因为攻击者可以轻松获取整个数据库的副本。

0 投票
2 回答
282 浏览

php - Laravel 4 - 用户应该只访问他在多用户数据库中的数据

我希望我正确地描述了这个主题。我正在创建一个联系人管理应用程序,每个用户将在同一个联系人表中拥有自己的联系人。用户不得看到彼此的联系人。

我开始这样做,但必须有更好的方法:

上面这行的问题是我想这样写:

有没有办法像过滤器一样加载 where 子句,以便所有搜索都必须匹配Auth::user()->id

0 投票
1 回答
187 浏览

entity-framework - 如何在使用 Entity Framework (6.1) 创建的本地数据库上实现安全性?

我们有一个使用本地数据库(SQL Server 2012 LocalDb)的桌面应用程序。

我们不希望最终用户能够直接修改数据库,并且我们希望限制对某些用户查看数据库内容。

此外,我们希望根据登录用户的授权级别限制可以从应用程序中执行的某些操作。

如何满足第一个要求?是否可以通过代码优先?

第二个要求可以与第一个要求相结合吗?