# Discourse-Signaturen

**URL:** <https://meta.discourse.org/t/discourse-signatures/42263>\
**Category:** Plugin\
**Tags:** official, signatures\
**Created:** [8. April 2016 um 21:39 UTC](https://meta.discourse.org/t/discourse-signatures/42263 "2016-04-08T21:39:19Z")\
**Posts on this page:** 1\
**Showing post:** 187

<div class="post-metadata">

**Author:** ![bar10dr](https://avatars.discourse-cdn.com/v4/letter/b/b38774/32.png) [@bar10dr](https://meta.discourse.org/u/bar10dr)\
**Post date:** [24. Mai 2025 um 12:55 UTC](https://meta.discourse.org/t/discourse-signatures/42263/187 "2025-05-24T12:55:00Z")

</div>

Bin ich verrückt oder gibt es überhaupt keine Validierung der URL des Benutzersignaturbildes?  
Im Grunde kann ein Benutzer alles eingeben, und es wird an andere Benutzer weitergeleitet?

Außerdem, warum ist die DB-Größe der URL-Signatur auf 32.000 eingestellt?  
Warum sollte jemand 32.000 Zeichen für eine URL zu einem Bild benötigen?

Gruselig 👻

Ich habe das CSS wie folgt geändert, um eine maximale Höhe und Breite festzulegen:

```css
.signature-img {
  max-width: 600px;
  max-height: 100px;
  width: auto;
  height: auto;
  display: block;
  margin: 5px 0;
}

```

Ich habe die maximale Größe der Signatur-URL in plugin.rb auf 250 geändert

```ruby
  register_user_custom_field_type("signature_url", :string, max_length: 250)
  register_user_custom_field_type("signature_raw", :string, max_length: 250)

```

Ich habe dies am Ende von “on(:user\_updated) do |user|” in plugin.rb hinzugefügt (ich werde den erweiterten Modus nicht verwenden)

```ruby
    # Validieren Sie die URL, wenn nicht im erweiterten Modus
    if !SiteSetting.signatures_advanced_mode && user.custom_fields["signature_url"]
      url = user.custom_fields["signature_url"]

      # Strikte Validierung: nur HTTPS, nur bestimmte Bilddateitypen
      unless url =~ /\Ahttps:\/\/\[a-zA-Z0-9.\-\/_]+\.(png|jpe?g|gif|webp)(\?[a-zA-Z0-9=\&]+)?\z/
        Rails.logger.warn("[discourse-signatures] Ungültige signature_url für Benutzer #{user.id} abgelehnt: #{url.inspect}")
        user.custom_fields["signature_url"] = nil
        user.save
      end
    end

```

Wenn ich hier etwas falsch mache (habe noch nie mit Discourse gearbeitet), korrigieren Sie es bitte und zeigen Sie mir den richtigen Weg.

---

_[View the full topic](https://meta.discourse.org/t/discourse-signatures/42263)._
