"标题最大字数"值过大导致服务器错误

  • title max word length 设置为 2000000000
  • 尝试创建一个主题
  • 收到 500 错误
  • 无法创建主题
RegexpError (too big number for repeat range: /\\p{Alnum}{2000000001,}/)
lib/text_sentinel.rb:62:in `seems_unpretentious?'
lib/text_sentinel.rb:45:in `valid?'
lib/validators/quality_title_validator.rb:12:in `validate_each'
lib/topic_creator.rb:24:in `valid?'
lib/has_errors.rb:13:in `validate_child'
lib/post_creator.rb:133:in `valid?'
lib/post_creator.rb:187:in `create'
lib/new_post_manager.rb:318:in `perform_create_post'
lib/new_post_manager.rb:252:in `perform'
app/controllers/posts_controller.rb:215:in `create'

上周引入。最大值为100000

2 个赞

最大主题标题长度目前似乎限制在 255 个字符,那么 标题最大单词长度 是否也应该有这个限制呢?

我曾想过可以通过将 标题最大单词长度 设置为 0(而不是使用一个非常高的值)来移除标题的最大单词长度限制,但这实际上暴露了一个单独的错误:它目前接受 0,但并没有禁用检查,反而导致无法创建主题,因为没有标题是有效的:

当然,可以撤销暴露这个问题的提交,但无论如何,似乎 标题最大单词长度 需要一些验证(例如 [1, 255])?

2 个赞

我尝试通过将 title_max_word_length 限制为 [1, 255] 来解决此问题。

1 个赞

鉴于人们可能已将其设置为 0 来尝试禁用检查,因此将值 0 迁移到 255 而不是 1 可能会更好,您怎么看?:thinking:

我并不反对……尽管我怀疑是否有任何论坛会无意中将其设置为 0,因为那样就无法创建任何主题了,所以它很可能已经被撤销了。

2 个赞

你说得对!请忽略我的评论!