Signatures Discourse

Sono pazzo qui o non c’è alcuna validazione sull’URL dell’immagine della firma dell’input dell’utente?
In pratica, un utente può inserire qualsiasi cosa e verrà inviata ad altri utenti?

Inoltre, perché la dimensione del database dell’URL della firma è impostata su 32_000?
Perché qualcuno avrebbe bisogno di 32.000 caratteri per un URL di un’immagine?

Spettrale :ghost:

Ho modificato il css in questo modo per codificare in modo fisso un’altezza e una larghezza massime;

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

Ho cambiato la dimensione massima dell’URL della firma a 250 in plugin.rb

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

Ho aggiunto questo in fondo a “on(:user_updated) do |user|” in plugin.rb (non utilizzerò la modalità avanzata)

    # Valida l'URL se non in modalità avanzata
    if !SiteSetting.signatures_advanced_mode && user.custom_fields["signature_url"]
      url = user.custom_fields["signature_url"]

      # Validazione rigorosa: solo HTTPS, solo determinati tipi di file immagine
      unless url =~ /\Ahttps:\/\/\[a-zA-Z0-9.\-\/_]+\.(png|jpe?g|gif|webp)(\?[a-zA-Z0-9=\&]+)?\z/
        Rails.logger.warn("[discourse-signatures] Rifiutato signature_url non valido per l'utente #{user.id}: #{url.inspect}")
        user.custom_fields["signature_url"] = nil
        user.save
      end
    end

Se sto facendo qualcosa di sbagliato qui (non ho mai lavorato con Discourse prima), per favore correggilo e mostrami il modo giusto per farlo.

1 Mi Piace

Perché 250 non sono abbastanza…

Questa è l’idea di una firma. La stessa cosa vale per un forum, le persone inseriscono cose e altre persone le vedono. Mondo pazzo, eh?

5 Mi Piace

Quando Discourse viene aggiornato alla versione 3.5.0.beta8 (anche la versione 3.5.0.beta9-dev presenta problemi), si scopre che l’utente ha modificato la firma e non riesce a salvarla (anche se viene visualizzato il salvataggio, non ha effetto); tutto è ancora normale sulla versione 3.5.0.beta7. Speriamo che venga risolto presto, poiché molti plugin dalla beta7 alla beta8 sono integrati.

2 Mi Piace

Abbiamo un caso d’uso specifico per le firme e mi chiedo se sarebbe relativamente facile apportare alcune modifiche.

  1. Concordo sul fatto che vorrei vedere le firme solo per gruppi specifici nell’interfaccia utente, non sono bravo con il CSS.
  2. Stiamo utilizzando il nostro Discourse sia come community che come sistema di ticket di supporto. Esiste un modo per ottenere un’impostazione per “Visualizza solo le firme in X categorie”?

Abbiamo davvero bisogno delle firme solo nella nostra sezione di supporto, dove la maggior parte delle nostre interazioni avviene via e-mail.

2 Mi Piace

4 messaggi sono stati spostati in un nuovo argomento: Richiesta di funzionalità: includere la firma nelle notifiche e-mail