问题标签 [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.
c# - 如何在 ADO.NET 中安全地创建从更改中选择的表的查询?
在 ADO.NET 中,您可以将参数添加到命令对象以安全地将用户输入添加到 SQL 查询。SQL 查询常见的其他谓词的等价物是什么?
我正在编写一个程序,该程序本质上是一个非常有限的 OR 映射器和 SQL 生成器(它主要关注具有元信息的数据库和符合该元数据的其他数据库)。因此,我需要能够调用以下内容:
其中一些(例如criteria
)是由受信任的用户(我公司的其他开发人员)从字面上输入到我的程序中的,而其他数据是由不受信任的用户(客户)通过他们的搜索等输入到我的程序中的。
我想让这个程序安全,我知道上面不是。目前我已经USER_SELECTED_COLUMNS
用命令参数替换了,但我无法找到 CRITERIA 和 TABLEs 的等效项。(或按列排序)。是否有任何类似于SqlParameter
我可以用于非选择谓词的 ADO.NET 功能?
mysql - 无法连接到mysql,因为没有用户
我错误地删除了mysql的所有用户......所以我无法连接到mysql。
有人有想法吗?
我尝试重新安装它,但它没有工作...
PS:我在 Archlinux 上。
提前致谢 !
postgresql - Postgresql客户端身份验证问题
我正在为 postgresql 的访问控制文件 pg_hba.conf 苦苦挣扎......它永远不会快乐,我想做的就是直截了当:A)允许从 localhost访问ALL B)允许从 10.8.0 访问ALL。*( VPN)C)拒绝所有剩余的
我已经阅读了pgsql官方网站上的wiki页面,但无法弄清楚我的配置有什么问题;我连接到 VPN(效果很好),然后尝试使用 pgadmin => 连接到 pgsql 失败;我还尝试安装一个简单的 punBB 论坛(与数据库服务器在同一台机器上),但我无法连接到数据库......这都是配置问题......
这是我当前权限的示例:
有任何想法吗?
webserver - 具有“登录”功能的软件防火墙
我需要用防火墙保护服务器,这很简单:) 但是对于某些用户,我想打开某些其他端口(例如直接访问 SSRS 报表生成器的数据库)。
这些用户没有静态 IP 地址,因此现在每次他们的地址更改时,我都必须进入远程桌面,并将他们的新 IP 地址添加到 Windows 防火墙的“允许”部分。
任何人都知道提供 Web 前端(在端口 80 上?)的软件防火墙解决方案,用户可以登录以允许额外访问?
谢谢
asp.net-mvc-3 - ASP.NET MVC 3 中的行级权限或 facebook 风格的隐私?
我正在开发一个需要自定义细粒度安全/隐私设置的项目。基本上我需要能够根据执行查询的用户来限制对数据的访问。很容易,对吧?这里有几个gotchyas虽然..
- 用户必须存储在用户表中。此应用程序不接受创建 Windows 用户帐户、SQL 服务器用户或 SQL 服务器角色。
- 安全标准必须由任意数量的来源定义,即用户的位置、薪酬等级、专业等。
现在,我们通过生成一个 SQL 的“where”子句并在执行之前将其附加到每个查询的末尾来实现这一点。这限制了我们利用实体框架等新技术的能力,同时也带来了它自己的其他限制和性能问题。
任何帮助或想法将不胜感激。如果需要进一步澄清,请告诉我。
谢谢!杰森
mysql - 拆分mysql数据库以确保安全
我多年来一直使用 sql(主要是 mysql),但没有达到专业标准,所以我正在寻找正确的方向。
我目前正在设计一个网络应用程序,它将在一组表中收集用户的姓名/地址/电子邮件等,以及在另一组表中收集其他个人信息。这些将最自然地驻留在一个数据库中,但我一直在考虑将用户联系信息拆分到单独服务器上的一个数据库中,并将所有其他信息拆分到另一个数据库/服务器中,理论上是黑客必须破坏这两个系统得到任何非常有用的东西。
我已经断断续续地搜索了几个星期,到目前为止还没有发现这种类型的设计被讨论得太多。一般是这样做的吗?是不是矫枉过正?是否有一种设计方法可以解决它,还是我必须自己全部推出?
我确实发现拆分数据库是一种合法的安全措施吗?我猜这是说这种方法可能是矫枉过正。
sql - 转义/清理从数据库中检索到的数据
假设我有一个 Web 应用程序,它从用户那里获取输入并将其保存在数据库中。让我们进一步假设没有安全漏洞——它正确地转义了用户输入,使用绑定参数,等等。
从数据库中检索到的数据是否必须受到怀疑(即潜在的污染/恶意)?
示例(不确定结果,因为我不敢尝试)。这是数据库:
然后我运行这个伪代码(例如,可能来自 PHP):
mysql - 是否有一个数据库工具可以显示我有权使用的 sql 命令列表?
我与 HeidiSQL 的开发人员谈过这件事,他告诉我我可以通过 sql 的“show grants”命令查询它,但我不明白来自它的结果集。
show grants // 我在这里执行查询
授权使用。TO 'fsdb1user1'@'%' 由密码 'something' 识别
授予选择、插入、更新、删除、创建、删除、引用、索引、更改、创建临时表、锁定表
fsdb1
。* 到 'fsdb1user1'@'%'
mysql文档说
SHOW GRANTS 仅显示显式授予指定帐户的权限。其他权限可能对帐户可用,但不会显示。例如,如果存在匿名帐户,则命名帐户可能能够使用其权限,但 SHOW GRANTS 不会显示它们。
我认为某处可能有一些软件尝试以这种方式进行一些查询和检查授权。
mysql - MySQL 转义字符串 VS。参数化查询
刚刚阅读参数化查询,这似乎是数据库防御中的最后一句话,并且想知道以下内容:
我有一个现有的 PHP/MySQL 自建 CMS,其中所有输入(条形复选框和单选按钮)都受 real_escape_string 的约束。有一个管理部分可通过 sha1 加密密码和匹配的用户名访问,一小群 (3) 受信任的人可以在其中更新内容 (tinyMCE)、上传照片等。非常小。我的查询都没有参数化,而是仅在转义后执行。
没有来自公众的意见,但我确实想稍后将其开放给用户提交的表格。
我的主人是私人的,记录非常好。
在其他条件相同的情况下,我有多安全?
sql-server - 在 SQL Server 中创建主密钥
我正在尝试实现一个加密列,如下面的MSDN 示例中所示。除了第一行之外,我了解大部分代码:
当我在本地机器上的 AdventureWorks 数据库上运行它时,密钥已经存在,这很好;我得到了在我的机器上运行良好并正确加密/解密的示例。symmetric_key_id
但是,在该代码中,101
任何时候 都没有提及 a 。
对称密钥是否101
有某种保留 ID?