Sql Postgres-无限文本风险

Sql Postgres-无限文本风险,sql,postgresql,security,Sql,Postgresql,Security,PostgreSQL文本类型允许我存储无限长的字符串。那么,是什么阻止我的网站用户发送垃圾邮件来填满我的数据库呢 我是否应该永远不使用文本作为用户数据,而是始终限制长度,或者是否存在我不知道的机制 编辑:对不起,这个问题不清楚。而是:如果我不限制发送给我的用户数据的长度,是否存在有人通过填充我的数据库破坏我的应用程序的风险?我从来没有听说过这种攻击,所以我想可能有什么东西可以保护我不受它的伤害,但我并不知道。似乎存在风险。你是对的,最好总是限制风险,以防止任何已知或未知的弱点或临界情况。除非你有

PostgreSQL文本类型允许我存储无限长的字符串。那么,是什么阻止我的网站用户发送垃圾邮件来填满我的数据库呢

我是否应该永远不使用文本作为用户数据,而是始终限制长度,或者是否存在我不知道的机制


编辑:对不起,这个问题不清楚。而是:如果我不限制发送给我的用户数据的长度,是否存在有人通过填充我的数据库破坏我的应用程序的风险?我从来没有听说过这种攻击,所以我想可能有什么东西可以保护我不受它的伤害,但我并不知道。似乎存在风险。

你是对的,最好总是限制风险,以防止任何已知或未知的弱点或临界情况。除非你有意无限地需要它。。。但即使在这种情况下,在某些级别(例如在应用程序级别)验证数据也是最佳做法。

您使用的是哪种dbms?@jarlh PostgreSQL 9.6您是作为DBA还是应用程序开发人员询问的?我想是后者。您是将数据写入数据库的人,这样您就可以随心所欲地进行限制。您可以随时检查用户输入的数据长度。这取决于应用程序的功能。我不能告诉你,你是唯一知道的人。是的,您可以添加触发器和检查,但是为什么双重限制要求您同时构建双重错误检查?当它们发生更改时,您需要更改两件事?如果需要,您可以轻松实现检查约束以限制字段的长度。我同意,但我强烈建议数据库用于主要验证检查,不是应用程序。有一天,可能会有另一个应用程序访问数据库,而对数据的限制可能已经忘记在那里实现,并且。。。数据库负责数据,并对其拥有权限,而不是其他权限。最安全的赌注。