【问题标题】:Should I always put a limit on a textarea?我应该总是限制文本区域吗?
【发布时间】:2019-11-01 22:31:06
【问题描述】:

我有一个关于textarea 字符限制的问题。我有一个文本区域,用户可以在其中编写他们想要的任何长度的文章;也就是说,他们可以使他们的文章成为一个句子长的帖子或一篇非常长的文章。我不在乎文章有多长,只要是用户想要的长度。唯一的问题是我不知道根本不输入字符限制是不是一个坏主意。我的问题是这样的:

不对文本区域设置字符限制是否可能会导致人们向文本区域发送大量文本并破坏某些内容的问题?我不想对文本区域设置限制,但我想知道是否根本不设置限制是否意味着有人可能会通过在其中放置太多文本来破坏它。那么我应该有一些东西来验证太多的文本吗?

【问题讨论】:

  • 我永远不会直接将输入的值添加到数据库中。始终事先对值进行参数化和清理。例如,去掉单引号。
  • @MannySanchez 在将数据插入数据库之前,我一直在使用 mysqli_real_escape_string,但我听说使用准备好的语句更安全。您是否建议这样做?可以按照我现在的方式保留它吗?

标签: html textarea maxlength


【解决方案1】:

我认为限制是有意义的,主要有两个原因:

  1. 验证

    您已经在问题中说明了这一点。您可能需要验证有关任何损坏字符或 sql 注入的输入。如果你不限制它并且你得到很多字符,你的系统可能需要很长时间才能验证 - 这取决于你在本地还是在服务器端检查它。

  2. 存储
    我不确定您将如何使用这些内容,但如果是 CMS,您必须将帖子保存在数据库中。数据库将具有不同的属性和大小设置。您必须在数据库中定义 varchar 的最大大小。增加该大小将导致潜在的错误和数据库速度变慢。

【讨论】:

    【解决方案2】:

    如果你想验证用户输入的文本,你可以保持限制。如果你不想指定HTML代码本身的限制。你可以通过指定文本类型和长度在JavaScript代码中编写正则表达式文本。

    【讨论】:

    • 欢迎来到 SO!当你回答一个问题时,试着检查你是否真的回答了。你是否?也许需要更多解释。
    猜你喜欢
    • 2011-07-28
    • 1970-01-01
    • 1970-01-01
    • 2012-01-10
    • 2011-01-24
    • 2010-11-05
    • 2019-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多