قيمة كبيرة لـ "max طول كلمة في العنوان" تسبب خطأ في السيرفر

  • اضبط title max word length على 2000000000
  • حاول إنشاء موضوع
  • احصل على خطأ 500
  • لا يمكن إنشاء المواضيع
RegexpError (رقم كبير جدًا لنطاق التكرار: /\\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)

يبدو أن max topic title length مقيد حاليًا بـ 255، لذا ربما يجب أن يكون title max word length له هذا الحد أيضًا؟

كنت أفكر في أنه يمكن للمرء إزالة الحد الأقصى لطول الكلمات في العنوان عن طريق تعيينه إلى 0 (بدلاً من استخدام قيمة عالية جدًا)، ولكن هذا كشف في الواقع عن خطأ منفصل: إنه يقبل حاليًا 0 ولكن هذا لا يعطل الفحص، بدلاً من ذلك، يصبح من المستحيل إنشاء موضوع لأن لا يوجد عنوان صالح:

من الممكن بالطبع التراجع عن الالتزام الذي كشف عن هذا، ولكن بغض النظر عن ذلك، يبدو أن title max word length يحتاج إلى بعض التحقق (على سبيل المثال [1, 255])؟

إعجابَين (2)

لقد حاولت القيام بذلك عن طريق تحديد title_max_word_length إلى [1, 255].

إعجاب واحد (1)

نظرًا لأن الأشخاص قد يكونون قد قاموا بتعيين هذا على 0 في محاولة لتعطيل الفحص، فقد يكون من الأفضل ترحيل القيمة 0 إلى 255 بدلاً من 1، ما رأيك؟ :thinking:

أنا لا أعارض ذلك… على الرغم من أنني أشك في وجود أي منتدى تم تعيينه عن طريق الخطأ على 0، حيث لا يمكن إنشاء أي مواضيع في تلك المرحلة، لذلك من المحتمل أن يكون قد تم التراجع عنه بالفعل.

إعجابَين (2)

هذا صحيح! تجاهل تعليقي من فضلك!