问题标签 [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 投票
2 回答
434 浏览

mysql - 如何保护存储在数据库中的电子邮件 ID?

我在 bcrypting 后存储密码,但用户电子邮件 ID 为纯文本(不加密),因为我想定期向该电子邮件 ID 发送时事通讯。我有两个问题?

  1. 如何保护数据库,以便可以保护数据库中纯文本的电子邮件 ID 免受黑客攻击?

  2. 有什么方法可以检查特定的数据库表是否只能由我的 Web 表单访问,而不是来自外部?

注意:我是数据库新手。

0 投票
1 回答
96 浏览

php - 敏感客户详情

我有一个关于存储一些客户信息的安全相关问题 - 特别是他们的数据库登录凭据。

我的应用程序基于客户端工作,因此需要在开始时设置数据库详细信息。我最初的想法是将它全部保存在一个 MYSQL 数据库表中,但如果它受到损害,那么我所有的客户都处于危险之中。

我还考虑过创建一个包含所有这些细节的 PHP 数组,这会有点难以管理,但在安全性方面绝对值得。

有没有我想念的更好的选择?

编辑:请求更多细节

我的主机上有一个 MYSQL 数据库(应用程序运行的地方),然后应用程序需要连接到外部数据库(我的客户端),但显然应用程序需要知道它们的所有详细信息。

我不确定加密是否真的可行,我可以对其进行哈希处理并将其保存到一个表中,但我无法反转它,所以它必须是纯文本,因此我担心安全性 - 我永远不会存储数据库中的纯文本密码。

0 投票
3 回答
138 浏览

sql - 将 SQL 查询作为参数发送的危险?

基本问题。如果我有一个询问用户姓名、电子邮件和评论的表单,并且我将这些条目存储在数据库中......如果有人键入 SQL 查询会发生什么,例如:

在评论部分。

是否存在 SQL 注入的风险,或者我是否完全安全?

SQL Server 2008 存储过程来处理插入。

0 投票
2 回答
1097 浏览

sql-server - Storing DATABASE_PRINCIPAL_ID in sql server table

We're using stored procedures to restrict the access of some of our database users. They need access to specific parts of the database (not just tables/views, but also specific rows), and the sproc should check if the user is allowed to see the table rows he's requesting.

To store the authorization rules, we're planning to use a table dbo.AuthRules like that:

The stored procedure would then query that table to check if the current user has access to the requested data. To make it clear: We cannot just use GRANT PERMISSION because we need fine-grained access rules down to the rows in the DB.

We're not sure about the UserId column. The best solution would be some kind of foreign key to the system view sys.database_principals, but there are no foreign keys to views.

  • Should we just store the principal_id column of sys.database_principals, without any constraint?
  • Would it be better to store the name column instead of principal_id?
  • Are there other options to store a reference to the DB user?
0 投票
1 回答
126 浏览

security - 将电子邮件 ID 安全地存储在网站的后端

我正在创建一个用户将使用 OpenID 登录的网站。不过,我只会让他们选择 Google、Yahoo 和 AOL。他们将使用他们的 OpenID 提供商的帐户(Google/Yahoo/AOL)登录或注册,在他们被重定向回我的网站后,我会告诉他们“注册成功!”同时,我会将他们的电子邮件 ID 与他们声明的 ID 或 Google 等在 OpenID AX(属性交换)中提供的任何内容存储起来。

现在,由于网站上的一些活动,如评论、查询等,我希望通知用户。为此,我会向他的电子邮件帐户发送邮件,我将从他的 OpenID 注册中获得我的网站。而且我将需要电子邮件 ID 为纯文本(显然),以便向他们发送邮件。但是在数据库中,我想安全地存储电子邮件 ID,足够安全,这样即使有人破解并下载了用户表,他们也无法破译电子邮件 ID。

怎么做?对于 AES 加密等,我需要存储一个密钥。如果后端脚本可以轻松访问将电子邮件 ID 转换为明文的密钥,那么黑客也不能吗?

我只想安全地存储我网站注册用户的电子邮件 ID,并通过电子邮件向他们发送有关通知的信息,但又不会冒着黑客轻松访问他们的电子邮件 ID 的风险。

0 投票
2 回答
3042 浏览

c# - 如何在 MVC 4 中进行 SQL Server 数据库备份和恢复

我想通过我在 ASP.Net MVC 4 中的程序备份我的 SQL Server 数据库。请帮助我从哪里开始,因为我以前没有这样做过。

提前致谢

0 投票
1 回答
676 浏览

mysql - Sql Injection以外的Mysql数据库攻击

我正在使用 mysqli 准备好的语句和绑定变量。

  1. 然后为了防止 sql 注入,我是否需要使用用户输入做任何其他事情(例如:数据类型验证、过滤、清理、字符串转义等)?

  2. 除了 Sql Injection 之外,还有其他攻击 MySql 数据库的方法吗?

0 投票
3 回答
1200 浏览

oracle - 在 SYS 拥有的对象上授予权限的最佳和最安全的方法

用户 SYS 和 SYSTEM 永远不应使用,因为存在损坏 SYS 模式的风险:“通常,除非文档告诉您,否则您永远不会以 sys 或 system 身份登录,它们是我们的内部数据字典帐户,而不是您的使用。忘记它们的存在,你会得到最好的服务。” (http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:2659418700346202574

向用户授予 SYS 权限的最佳和最安全的方法是什么?例如:

我应该使用哪个用户而不是 SYS 或 SYSTEM?

0 投票
1 回答
189 浏览

mysql - MySQL repl 用户权限 - 通配符主机是否安全?

使用 Chef Opscode MySql 食谱。它使用通配符主机值授予 MySQL“repl”用户访问权限。

这安全吗?还是用不同的主机更新 mysql.user 表更好?

0 投票
1 回答
216 浏览

sql - Visual Studio 数据库项目脚本域名

我在 Visual Studio 2010 的 SQL Server 2008 数据库服务器项目中创建用户创建脚本。

脚本看起来像这样...

我将在我的台式电脑和笔记本电脑上进行开发。既不在域上运行也不使用本地用户,例如DESKTOP\TestUserLAPTOP\TestUser.

我需要做的是以某种方式将一个变量注入到自动设置域名的脚本中。我相信 SQL Server 是这样的@@SERVERNAME。然后我可以在我的两台电脑上工作,脚本也可以工作。目前,如果我在我的笔记本电脑上运行它,我会收到一个错误,因为DESKTOP\TestUser我的笔记本电脑上不是 Windows 主体。

我查看了 .sqlcmdvars 文件,我可以在其中设置一个变量,将其注入到脚本中。但是,我似乎无法将其转化为动态的东西,例如@@SERVERNAME.

我还查看了从我的部署后脚本运行 EXEC,但我收到一条错误消息,指出此命令在此上下文中无效 - 我相信这意味着 VS2010 DB 项目不接受 EXEC。