Skip to main content
Dokümantasyon
ÖĞRENME MERKEZİ

Kapsamlı rehberler, eğitimler ve API dokümantasyonuyla içerik moderasyonunda uzmanlaşın

Hızlı Bağlantılar

Dosya Antivirüs Taraması

Discuse, dosyalar kullanıcılarınıza ulaşmadan önce kötü amaçlı yazılımlara karşı tarar. Bunu çağırmanın iki yolu vardır: belge URL’lerini diğer kontrollerle birlikte taramak için POST /api/v2/check üzerinde check_antivirus özelliğini etkinleştirebilir veya tek bir dosyayı tarayıp tehdit adı ve SHA-256 karması dahil eksiksiz bir rapor almak için özel POST /api/v2/scan uç noktasını kullanabilirsiniz.

Yüklenen dosyalar neden taranmalı?

Dosya yüklemeleri yaygın bir saldırı vektörüdür. Platformunuz üzerinden kötü amaçlı yazılım dağıtılması kullanıcı verilerini, itibarınızı ve kendi altyapınızı riske atar. Her dosyayı saklamadan veya sunmadan önce taramak bu açığı kapatır.

Tarama nasıl çalışır?

Bir dosya URL’si gönderdiğinizde Discuse dosyayı yalıtılmış bir ortama indirir, tarar ve bir tehdit bulunup bulunmadığını döndürür. Aynı dosyalar önbelleğe alınır; böylece tekrarlanan taramalar hızlı gerçekleşir.

Seçenek 1: dosyaları bir /check isteği içinde tarama

Belge URL’lerini content.document_urls içinde gönderin ve check_antivirus özelliğini etkinleştirin. Ek de içeren bir mesajı denetliyorsanız doğru kullanım budur.

curl -X POST https://api.discuse.com/api/v2/check \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "content": {
      "document_urls": ["https://example.com/uploaded-file.pdf"]
    },
    "settings": {
      "check_antivirus": true
    }
  }'

Tek bir istek en fazla 5 belge URL’si kabul eder.

Yanıt

{
  "has_violations": true,
  "cached": false,
  "message": "Malware detected in file",
  "results": {
    "hits": true,
    "antivirus": {
      "status": "FOUND",
      "hit": true,
      "details": [
        {
          "type": "malware",
          "details": "Trojan.GenericKD.12345678",
          "result": true
        }
      ]
    }
  }
}

results.antivirus altındaki antivirüs sonucu üç alan içerir: status, hit ve bir details dizisi. Her details girdisi type, details (tehdit adı veya mesaj), confidence ve result bilgilerini taşır.

Seçenek 2: /api/v2/scan ile tek bir dosyayı tarama

Özel tarama uç noktası, tek bir dosya için tehdit adı, dosya karması ve tarama süresi dahil daha zengin bir rapor döndürür.

curl -X POST https://api.discuse.com/api/v2/scan \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "file_url": "https://example.com/uploaded-file.pdf",
    "file_name": "uploaded-file.pdf"
  }'

Yanıt

{
  "hit": true,
  "status": "FOUND",
  "description": "Trojan.GenericKD.12345678",
  "file_name": "uploaded-file.pdf",
  "file_hash": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
  "scan_time_ms": 1250
}

/api/v2/scan istek alanları

Alan Tür Notlar
api_key string Gövdede isteğe bağlıdır; bunun yerine X-API-Key gönderebilirsiniz
file_url string Taranacak dosyanın URL’si
file_name string Rapor için isteğe bağlı dosya adı

file_url sağlayın. Base64 file_data şemada tanımlıdır ancak henüz desteklenmemektedir — yalnızca file_data içeren bir istek, file_url kullanmanızı isteyen bir hata döndürür.

/api/v2/scan yanıt alanları

Alan Tür Açıklama
hit boolean Kötü amaçlı yazılım tespit edildiğinde True
status string OK (temiz), FOUND (kötü amaçlı yazılım) veya ERROR
description string Tehdit adı veya bir hata mesajı
file_name string Taranan dosya adı
file_hash string Dosyanın SHA-256 karması
scan_time_ms number Milisaniye cinsinden tarama süresi

Kullanım sınırları

Antivirüs taraması yalnızca ücretli planlarda kullanılabilir. Taranan her dosya kotadan bir kez düşülür.

Plan Aylık Tarama Kota Aşım Ücreti
Basic Kullanılamaz -
Gold 500 $0.001/tarama
Platinum 1,500 $0.00085/tarama (%15 indirim)
Ultimate 3,000 $0.00075/tarama (%25 indirim)

Bir projenin aktif aboneliği yoksa antivirüs taramaları reddedilir.

En iyi uygulamalar

Depolamadan önce tarayın

Virüslü bir dosyanın sisteminize hiç girmemesi için dosyayı kalıcı olarak depolamadan önce tarayın:

async function handleFileUpload(fileUrl, fileName) {
  const result = await scanFile(fileUrl, fileName);

  if (result.hit) {
    throw new Error('Infected file detected: ' + result.description);
  }
  await storeFile(fileUrl);
}

Duruma göre dallanın

Temiz bir dosyayı, başarısız olmuş bir taramadan ayırt edin:

const result = await scanFile(fileUrl, fileName);

switch (result.status) {
  case 'FOUND': await rejectAndNotify(fileUrl, result.description); break;
  case 'ERROR': await quarantineForReview(fileUrl); break;
  case 'OK':    await storeFile(fileUrl); break;
}

Tutarlı URL’leri yeniden kullanın

Aynı dosyalar önbelleğe alınır. Sabit dosya URL’leri kullanmak, tekrarlanan taramaların dosyayı yeniden indirmek yerine önbellekten dönmesini sağlar.

Entegrasyon örnekleri

Node.js (özel tarama uç noktası)

async function scanFile(fileUrl, fileName) {
  const response = await fetch('https://api.discuse.com/api/v2/scan', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'X-API-Key': process.env.DISCUSE_API_KEY
    },
    body: JSON.stringify({ file_url: fileUrl, file_name: fileName })
  });

  return response.json();
}

Python (özel tarama uç noktası)

import os
import requests

def scan_file(file_url, file_name=None):
    response = requests.post(
        'https://api.discuse.com/api/v2/scan',
        headers={
            'Content-Type': 'application/json',
            'X-API-Key': os.environ['DISCUSE_API_KEY']
        },
        json={'file_url': file_url, 'file_name': file_name}
    )
    return response.json()

Platformunuzu kötü amaçlı yazılımlardan korumaya hazır mısınız? Discuse ile başlayın.

Discuse Ekibi tarafından yazıldı · Son güncelleme June 2026

İlgili Makaleler

Metin Analizi ve Duygu Tespiti

Metin içeriğinde spam, toksisite, küfür tespit edin ve duygu analizi yapın

Görsel NSFW Tespiti

Uygunsuz görselleri ve yetişkin içerikleri otomatik olarak tespit edip filtreleyin

Spam Tespiti

Metin ve mesajlar için AI destekli spam filtreleme