13.24
Όρια και ασφάλεια
Το API είναι φτιαγμένο έτσι ώστε ένα διακριτικό να μην μπορεί ποτέ να στραφεί εναντίον ενός διακομιστή, ακόμη κι αν διαρρεύσει. Οι παρακάτω προστασίες ισχύουν σε κάθε αίτημα.
Σε κάθε σημείο πρόσβασης, ο έλεγχος για Premium γίνεται πριν από όλα τα άλλα, πριν καν αναζητηθεί το διακριτικό και πριν μετρηθεί οποιοδήποτε όριο, ώστε ένας διακομιστής χωρίς ενεργή συνδρομή να παίρνει πάντα την ίδια απάντηση 402 αντί για ένα αίτημα που εκτελέστηκε μισό.
- Χωρίς μαζικές αναφορές. Σε όλα τα μηνύματα που στέλνει το API (μαζί με τα μηνύματα webhook και τις ετικέτες) είναι απενεργοποιημένα τα
@everyone,@hereκαι οι αυθαίρετες αναφορές ρόλων. Στο άνοιγμα αιτήματος αναφέρονται μόνο ο ρόλος που έχει οριστεί στον πίνακα και αυτός που άνοιξε το αίτημα. - Χωρίς πλαστοπροσωπία. Τα εμφανιζόμενα ονόματα webhook που περιέχουν δεσμευμένες λέξεις όπως "discord" ή "clyde" αντικαθίστανται, και η εικόνα που βάζεις πρέπει να είναι έγκυρη διεύθυνση
https://. - Απαιτείται Premium. Το API είναι δυνατότητα Premium. Χωρίς ενεργή συνδρομή κάθε αίτημα επιστρέφει
402μεpremium_required: true, και δεν δημιουργούνται ούτε αντικαθίστανται νέα διακριτικά. - Όρια αιτημάτων. Κάθε διακριτικό έχει όριο ανά ενέργεια (για παράδειγμα: άνοιγμα αιτήματος 10 το λεπτό, αποστολή μηνύματος 30 το λεπτό, μετονομασία 2 ανά 10 λεπτά, αλλαγή πίνακα 2 ανά 10 λεπτά, αλλαγές πινάκων 10 το λεπτό, επαναποστολή πίνακα 4 ανά 10 λεπτά, αναγνώσεις 120 το λεπτό). Η υπέρβαση ενός ορίου επιστρέφει
429με τιμήretry_afterσε δευτερόλεπτα. Ζήτα τον τρέχοντα πίνακα μεGET /api/token. - Οι βαριές αναγνώσεις έχουν δικά τους όρια. Η αναζήτηση στα αρχεία και η λήψη αρχείων HTML έχουν από 10 το λεπτό, και τα πλήρη καταχωρισμένα αρχεία 30 το λεπτό, οπότε δεν τρώνε ποτέ από τις γενναιόδωρες 120 αναγνώσεις το λεπτό. Η αναζήτηση, επιπλέον, τρέχει το πολύ δύο φορές ταυτόχρονα σε όλον τον διακομιστή και διακόπτεται με
504αν ξεπεράσει τον χρόνο της, ώστε η κίνηση των αναζητήσεων να μη στερεί ποτέ πόρους από τις εργασίες των αιτημάτων. - Ανώτατο όριο ανοιχτών αιτημάτων. Μόλις ένας διακομιστής φτάσει το όριο ασφαλείας για τα ανοιχτά αιτήματα, το API δεν ανοίγει άλλα, ενώ για χρήστες στη μαύρη λίστα δεν ανοίγει αιτήματα καθόλου.
- Όσο το δυνατόν λιγότερα δικαιώματα. Τα ευαίσθητα δικαιώματα (Ανάγνωση μηνυμάτων αιτήματος, Προβολή αρχείων, Αναζήτηση στα αρχεία, Λήψη αρχείων HTML, Χρήση ετικετών, Μετονομασία αιτημάτων, Διαχείριση πινάκων, Αλλαγή πίνακα αιτήματος) είναι εξαρχής ανενεργά και πρέπει να ενεργοποιηθούν ξεχωριστά σε κάθε διακριτικό.
- Οι αναγνώσεις παλιών δεδομένων ελέγχονται. Η λήψη ενός πλήρους αρχείου HTML γράφεται στο αρχείο ενεργειών του διακομιστή μαζί με το διακριτικό που την έκανε, όπως και κάθε αλλαγή που κάνει το API.
- Οι πίνακες μένουν δεμένοι με τις ρυθμίσεις σου. Η Διαχείριση πινάκων αλλάζει μόνο την εμφάνιση ενός πίνακα (όνομα, ενσωματωμένο μήνυμα, κουμπιά). Τα κανάλια, οι κατηγορίες, οι ρόλοι για αναφορά, οι φόρμες και οι ομάδες υποστήριξης δεν αλλάζουν μέσω του API.
- Λήξη και αντικατάσταση. Στα διακριτικά μπορείς να βάλεις λήξη, να τα απενεργοποιήσεις ή να τα αντικαταστήσεις από τον πίνακα· η αντικατάσταση ακυρώνει αμέσως το προηγούμενο μυστικό.
- Ισχύς σε έναν διακομιστή. Ένα διακριτικό δουλεύει μόνο στον διακομιστή όπου δημιουργήθηκε, και κάθε αίτημα ελέγχεται ξανά ως προς αυτόν.