FastComments.com


Burada FastComments yorum formatını, yorum yazarken desteklenen özellikleri, metin biçimlendirmesinin nasıl yapılacağını ve sisteme dahil edilen çeşitli filtreler ile güvenlik önlemlerini ele alacağız.


Temel Biçimlendirme Internal Link

FastComments, yorum yazmaya izin vermek için Markdown ve basit bir HTML alt kümesi kombinasyonunu kullanır.

Markdown sözdizimi için iyi bir kaynak burada.

En yaygın biçimlendirme için, metni kalın veya italik yapma gibi şeyler için biçimlendirme araç çubuğunu kullanabilirsiniz.

Bazı sözdizimi örnekleri:

  • Kalın:
    • **kalın**
    • <b>kalın metin</b>
  • İtalik:
    • *italik*
    • <i>italik metin</i>
  • Üstü çizili:
    • ~~üstü çizili~~
    • <strike>üstü çizili</strike>
  • Alıntılar:
    • > alıntı

Markdown başlıklarının desteklenmediğini unutmayın.

Bağlantılar HTML veya başka sözdizimi olmadan ham URL'leri olarak yazılabilir ve varsayılan olarak bağlantı, spam gönderenleri caydırmak için target="nofollow noopener" ile tıklanabilir bir bağlantıya dönüştürülecektir. Bazı siteler otomatik bağlantı oluşturmayı devre dışı bırakmayı seçebilir.

Sıralı listeler şu şekilde yazılabilir:

1. Birinci öğe.
2. İkinci öğe.
3. Üçüncü öğe.

Aynısı madde işaretli listeler için de geçerlidir:

- Bir nokta.
- Başka bir nokta.

Programlama odaklı topluluklar için, kod yorum alanına yapıştırılarak paylaşılabilir ve dil otomatik olarak algılanıp biçimlendirilecektir. Kod <code></code> etiketlerinde veya ters tırnak işaretleriyle Markdown kod bloklarında eklenebilir.

Güvenlik Internal Link

İnsanların bir web sitesine içerik eklemesine izin verildiğinde ve sonra bu içeriği birçok farklı cihaz türünde görüntülediğinizde güvenlikle ilgili birden fazla yön vardır.

Biçimlendirme Suistimalinin Önlenmesi

İnsanlar, metin biçimlendirmesini kötüye kullanarak kasıtlı olarak görsel olarak dikkat dağıtan ve tartışmalardan değeri azaltan içerikler yazabilir.

FastComments, biçimlendirmeyle ilgili suistimalleri önlemek için bir dizi önlem alır:

  • Ardışık tekrar eden fazla satır sonları birleştirilir.
  • Başlıkları render etmiyoruz (normal metne dönüşürler).
  • CSS'e veya özel renklere izin vermiyoruz.

İstismarların Önlenmesi

HTML render eden sistemlerde istismar oluşturulabilir. FastComments bunu önlemek için birkaç şey yapar:

  • Açıkça tanımlanmış bir HTML etiketleri kümesine izin veriyoruz.
  • Açıkça tanımlanmış bir HTML etiket öznitelikleri kümesine izin veriyoruz.
  • Tüm girdileri temizler ve arındırırız.
    • Bu, DOMPurify ve sanitizeHtml kütüphaneleri aracılığıyla yapılır.
    • Bu kütüphaneleri iyi test edilmiş oldukları için seçtik (sırasıyla haftada 4 ve 1 milyondan fazla indirme alıyorlar).

Bu, kullanıcıların <script> veya <style> etiketleri yazması ya da görüntülere veya diğer içeriğe onload=alert() türü betikler eklemeye çalışması gibi şeyler yapamayacağı anlamına gelir.

İzin verdiğimiz HTML etiketleri şunlardır:

  • <b>
  • <em>
  • <u>
  • <i>
  • <strike>
  • <pre>
  • <span>
  • <code>
  • <img>
  • <a>
  • <strong>
  • <ul>
  • <ol>
  • <li>
  • <br>

<iframe> etiketi varsayılan olarak izin verilmez. Eğer Allow Media Embeds'i açarsanız, iframe'lere de izin verilir, fakat yalnızca kaynakları yerleşik güvenilir sağlayıcılar listesinden biri (ör. YouTube, Vimeo, SoundCloud ve Spotify) veya sizin açıkça eklediğiniz bir alan adı olduğunda. Diğer herhangi bir kaynaktan gelen iframe'ler kaldırılır.