Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 9128|Απάντηση: 0

[Πηγή] Εργοστάσια φίλτρων ενσωματωμένα στο Spring Cloud Gateway

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 7/2/2022 1:36:49 μ.μ. | | |
Ενσωματωμένο εργοστάσιο φίλτρων

Ακολουθεί ένας απλός πίνακας με όλα τα εργοστάσια φίλτρων που είναι ενσωματωμένα στο Spring Cloud Gateway, ο οποίος δεν είναι πολύ λεπτομερής, αλλά μπορεί να χρησιμοποιηθεί ως γρήγορη επισκόπηση. Ως εξής:

Εργοστάσιο φίλτρων
λειτουργία
παράμετρος
ΠροσθήκηRequestHeader
Προσθήκη κεφαλίδας στο αρχικό αίτημα
Όνομα και τιμή κεφαλίδας
ΠροσθήκηRequestParameter
Προσθήκη παραμέτρων αιτήματος στο αρχικό αίτημα
Όνομα και τιμή παραμέτρου
ΠροσθήκηResponseHeader
Προσθήκη κεφαλίδας στην αρχική απόκριση
Όνομα και τιμή κεφαλίδας
DedupeResponseHeader
Απορρίπτει διπλότυπες τιμές στην κεφαλίδα απόκρισης
Το όνομα κεφαλίδας και η στρατηγική κατάργησης διπλότυπων που πρέπει να αφαιρεθούν από τα διπλότυπα
Ύστριξ
Παρουσιάστε την προστασία διακόπτη κυκλώματος της Hystrix για τη διαδρομή
Το όνομα του HystrixCommand
FallbackHeaders
Προσθήκη συγκεκριμένων πληροφοριών εξαίρεσης στην κεφαλίδα αίτησης του fallbackUri
Όνομα κεφαλίδας
Διαδρομή προθέματος
Προσθήκη προθέματος στην αρχική διαδρομή αιτήματος
Διαδρομή προθέματος
ΔιατήρησηHostHeader
Προσθέστε μια ιδιότητα preserveHostHeader=true στο αίτημα, την οποία ελέγχει το φίλτρο δρομολόγησης για να αποφασίσει εάν θέλετε να στείλετε τον αρχικό κεντρικό υπολογιστή
όχι
RequestRateLimiter
Χρησιμοποιείται για τον περιορισμό των αιτημάτων, ο αλγόριθμος περιορισμού είναι ένας κάδος διακριτικών
keyResolver、rateLimiter、statusCode、denyEmptyKey、emptyKeyStatus
ΑνακατεύθυνσηΣε
Ανακατευθύνετε την αρχική αίτηση στην καθορισμένη διεύθυνση URL
Κωδικός κατάστασης HTTP και διεύθυνση URL ανακατεύθυνσης
RemoveHopByHopHeadersFilter
Καταργήστε μια σειρά από κεφαλίδες που προδιαγράφηκαν από τον οργανισμό IETF για το αρχικό αίτημα
Αυτό είναι ενεργοποιημένο από προεπιλογή και μπορείτε να καθορίσετε ποιες κεφαλίδες θα διαγραφούν μόνο μέσω της διαμόρφωσης
RemoveRequestHeader
Διαγραφή κεφαλίδας για την αρχική αίτηση
Όνομα κεφαλίδας
RemoveResponseHeader
Κατάργηση κεφαλίδας για την αρχική απόκριση
Όνομα κεφαλίδας
ΕπανεγγραφήΔιαδρομή
Ξαναγράψτε την αρχική διαδρομή αιτήματος
Η αρχική regex διαδρομής και η regex της ξαναγραμμένης διαδρομής
RewriteResponseHeader
Ξαναγράψτε μια κεφαλίδα στην αρχική απάντηση
Όνομα κεφαλίδας, κανονική έκφραση τιμής, αναδιατυπωμένη τιμή
ΑποθήκευσηΣυνεδρίας
Επιβολή της λειτουργίας WebSession::save πριν από την προώθηση της αίτησης
όχι
secureHeaders
Προσθήκη μιας σειράς κεφαλίδων απόκρισης που λειτουργούν ως ασφάλεια στην αρχική απόκριση
Καμία, μπορείτε να τροποποιήσετε τις τιμές αυτών των κεφαλίδων απόκρισης ασφαλείας
Ορισμός διαδρομής
Τροποποίηση της αρχικής διαδρομής αιτήματος
Τροποποιημένη διαδρομή
SetResponseHeader
Τροποποίηση της τιμής μιας κεφαλίδας στην αρχική απόκριση
Όνομα κεφαλίδας, η τροποποιημένη τιμή
Ορισμός κατάστασης
Τροποποίηση του κωδικού κατάστασης της αρχικής απόκρισης
Κωδικοί κατάστασης HTTP, οι οποίοι μπορεί να είναι αριθμοί ή συμβολοσειρές
StripPrefix
Χρησιμοποιείται για την περικοπή της διαδρομής της αρχικής αίτησης
Χρησιμοποιήστε αριθμούς για να υποδείξετε τον αριθμό των διαδρομών που θα περικοπούν
Επανάληψη
Δοκιμάστε ξανά για διαφορετικές απαντήσεις
επαναλήψεις, καταστάσεις, μέθοδοι, σειρές
Μέγεθος αιτήματος
Ορίστε το μέγεθος των μέγιστων απαιτούμενων πακέτων που επιτρέπεται να ληφθούν. Αν το μέγεθος του πακέτου αιτήματος υπερβαίνει την καθορισμένη τιμή, επιστρέφεται 413 «Πολύ μεγάλο ωφέλιμο φορτίο»
Το μέγεθος του πακέτου αιτήματος είναι σε byte και η προεπιλεγμένη τιμή είναι 5M
ModifyRequestBody
Τροποποιήστε το αρχικό περιεχόμενο του σώματος της αίτησης πριν από την προώθηση της αίτησης
Το τροποποιημένο περιεχόμενο του σώματος αιτήματος
ModifyResponseBody
Τροποποίηση των περιεχομένων του αρχικού σώματος απόκρισης
Το τροποποιημένο περιεχόμενο του σώματος απόκρισης
Προεπιλογή
Προσθήκη φίλτρων για όλες τις διαδρομές
Όνομα και τιμή εργοστασίου φίλτρου

Συμβουλές: Κάθε εργοστάσιο φίλτρων αντιστοιχεί σε μια κλάση υλοποίησης και αυτέςΤο όνομα της κλάσης πρέπει να τελειώνει με GatewayFilterFactoryΑυτή είναι μια σύμβαση του Spring Cloud Gateway, για παράδειγμα, η κλάση υλοποίησης που αντιστοιχεί στο AddRequestHeader είναι AddRequestHeaderGatewayFilterFactory. Οι φίλοι που ενδιαφέρονται για τον πηγαίο κώδικα μπορούν να συνδυάσουν συγκεκριμένα ονόματα κλάσεων σύμφωνα με αυτόν τον κανόνα για να βρουν τον κώδικα υλοποίησης αυτών των ενσωματωμένων εργοστασίων φίλτρων.

1, AddRequestHeader GatewayFilter Factory

Προσθέστε μια κεφαλίδα στο αρχικό αίτημα, παράδειγμα διαμόρφωσης:


Προσθέστε μια κεφαλίδα αιτήματος με το όνομα X-Request-Foo με τιμή Bar στο αρχικό αίτημα

2, AddRequestParameter GatewayFilter Factory

Προσθήκη παραμέτρων και τιμών αιτήματος στο αρχικό αίτημα, παράδειγμα διαμόρφωσης:


Προσθέστε μια παράμετρο με το όνομα foo με τιμή bar στο αρχικό αίτημα, π.χ.: foo=bar

3, AddResponseHeader GatewayFilter Factory

Προσθέστε μια κεφαλίδα στην αρχική απάντηση, παράδειγμα διαμόρφωσης:


Προσθέστε μια κεφαλίδα απόκρισης με το όνομα X-Request-Foo με τιμή Bar στην αρχική απάντηση

4, Εργοστάσιο DedupeResponseHeader GatewayFilter

Το DedupeResponseHeader μπορεί να αφαιρέσει διπλότυπες τιμές στις κεφαλίδες απόκρισης με βάση το διαμορφωμένο όνομα κεφαλίδας και την πολιτική κατάργησης διπλότυπων, η οποία είναι μια νέα δυνατότητα που παρέχεται από το Spring Cloud Greenwich SR2 και δεν μπορεί να χρησιμοποιηθεί σε αυτήν την έκδοση.

ΕμείςΕάν η κεφαλίδα CORS (Επίλυση μεταξύ τομέων) έχει οριστεί τόσο στην πύλη όσο και στη μικροϋπηρεσία, εάν δεν γίνει διαμόρφωση, τότε η τιμή της κεφαλίδας CORS λαμβάνεται ζητώντας τη μικροϋπηρεσία -> Gateway ->, θα είναι κάπως έτσι:


Access-Control-Allow-Credentials: true, true
Access-Control-Allow-Origin: https://musk.mars, https://musk.mars
Μπορείτε να δείτε ότι οι τιμές αυτών των δύο κεφαλίδων είναι διπλές, εάν θέλετε να καταργήσετε τις διπλότυπες τιμές αυτών των δύο κεφαλίδων, πρέπει να χρησιμοποιήσετε το DedupeResponseHeader, παράδειγμα διαμόρφωσης:

Στρατηγική αφαίρεσης διπλότυπων:

  • RETAIN_FIRST: Προεπιλογή, διατήρηση της πρώτης τιμής
  • RETAIN_LAST: Διατήρηση της τελευταίας τιμής
  • RETAIN_UNIQUE: Διατηρήστε όλες τις μοναδικές τιμές με τη σειρά που εμφανίστηκαν για πρώτη φορά


Εάν θέλετε να έχετε μια πιο ολοκληρωμένη κατανόηση του εργοστασίου φίλτρων, συνιστάται να διαβάσετε τον πηγαίο κώδικα του εργοστασίου φίλτρων, επειδή ο πηγαίος κώδικας έχει λεπτομερείς σημειώσεις και παραδείγματα, κάτι που είναι καλύτερο από την επίσημη τεκμηρίωση: org.springframework.cloud.gateway.filter.factory.DedupeResponseHeaderGatewayFilterFactory

5, Hystrix GatewayFilter Factory

Παρουσιάζοντας την προστασία διακόπτη κυκλώματος της Hystrix για διαδρομές, παράδειγμα διαμόρφωσης:


Το Hystrix είναι η πρώτη γενιά εξαρτημάτων ανεκτικών σε σφάλματα του Spring Cloud, αλλά έχει εισέλθει σε λειτουργία συντήρησης και το Hystrix θα αφαιρεθεί από το Spring Cloud στο μέλλον και θα αντικατασταθεί από το Alibaba Sentinel/Resilience4J. Επομένως, αυτό το άρθρο δεν θα υπεισέλθει σε λεπτομέρειες, εάν ενδιαφέρεστε, μπορείτε να ανατρέξετε στην επίσημη τεκμηρίωση: Hystrix GatewayFilter Factory

6, FallbackHeaders GatewayFilter Factory

Υποστηρίζοντας επίσης το Hystrix, το εργοστάσιο φίλτρων που περιγράφεται στην προηγούμενη ενότητα υποστηρίζει μια παράμετρο διαμόρφωσης: fallbackUri, η οποία χρησιμοποιείται για την προώθηση αιτημάτων σε ένα συγκεκριμένο URI όταν εμφανίζεται μια εξαίρεση. Το εργοστασιακό φίλτρο FallbackHeaders μπορεί να προσθέσει μια κεφαλίδα κατά την προώθηση μιας αίτησης στο URI και η τιμή αυτής της κεφαλίδας είναι οι συγκεκριμένες πληροφορίες εξαίρεσης. Παράδειγμα διαμόρφωσης:


Δεν θα μπω σε λεπτομέρειες εδώ, αν σας ενδιαφέρει, μπορείτε να ανατρέξετε στην επίσημη τεκμηρίωση: FallbackHeaders GatewayFilter Factory

7, PrefixPath GatewayFilter Factory

Προσθέστε μια διαδρομή προθέματος στην αρχική διαδρομή αιτήματος, παράδειγμα διαμόρφωσης:


Αυτή η ρύθμιση κάνει την επίσκεψη στο ${GATEWAY_URL}/hello να προωθείται στοhttps://example.org/mypath/hello

8, PreserveHostHeader GatewayFilter Factory

Προσθέστε μια ιδιότητα preserveHostHeader=true στην αίτηση, την οποία ελέγχει το φίλτρο δρομολόγησης για να αποφασίσει εάν θα στείλει την αρχική κεφαλίδα κεντρικού υπολογιστή. Παράδειγμα διαμόρφωσης:


Εάν δεν οριστεί, τότε η κεφαλίδα με το όνομα Host θα ελέγχεται από τον πελάτη Http

9, RequestRateLimiter GatewayFilter Factory

Χρησιμοποιείται για τον περιορισμό των αιτημάτων και ο αλγόριθμος στραγγαλισμού είναι ένας κάδος διακριτικών. Παράδειγμα διαμόρφωσης:


10, Ανακατεύθυνση στο εργοστάσιο GatewayFilter

Ανακατευθύνετε το αρχικό αίτημα στην καθορισμένη διεύθυνση URL, παράδειγμα διαμόρφωσης:


Αυτή η ρύθμιση κάνει την πρόσβαση στο ${GATEWAY_URL}/hello να ανακατευθύνεται στο https://acme.org/hello , και μεταφέρετε έναLocation:http://acme.orgΚεφαλίδα, ενώ ο κωδικός κατάστασης HTTP που επιστρέφει τον πελάτη είναι 302

Σημειώσεις:

Ο κωδικός κατάστασης HTTP θα πρέπει να είναι 3xx, π.χ. 301

Η διεύθυνση URL πρέπει να είναι μια νόμιμη διεύθυνση URL που χρησιμεύει ως τιμή της κεφαλίδας τοποθεσίας

11, RemoveHopByHopHeadersFilter GatewayFilter Factory

Για το αρχικό αίτημα κατάργησης μιας σειράς κεφαλίδων που καθορίζονται από τον οργανισμό IETF, οι προεπιλεγμένες διαγραμμένες κεφαλίδες είναι οι εξής:


  • Σύνδεση
  • Διατήρηση της ζωής
  • Έλεγχος ταυτότητας διακομιστή μεσολάβησης
  • Εξουσιοδότηση διακομιστή μεσολάβησης
  • ΤΕ
  • Τρέιλερ
  • Μεταφορά-Κωδικοποίηση
  • Αναβαθμίζω


Μπορείτε να καθορίσετε ποιες κεφαλίδες διαγράφονται μόνο μέσω της διαμόρφωσης, παράδειγμα διαμόρφωσης:


12, RemoveRequestHeader GatewayFilter Factory

Για να καταργήσετε μια κεφαλίδα για την αρχική αίτηση, διαμορφώστε ένα παράδειγμα:


Αφαιρέστε την κεφαλίδα αιτήματος με το όνομα X-Request-Foo από το αρχικό αίτημα

13, RemoveResponseHeader GatewayFilter Factory

Για να καταργήσετε μια κεφαλίδα για την αρχική απόκριση, διαμορφώστε ένα παράδειγμα:


Αφαιρέστε την κεφαλίδα απάντησης με το όνομα X-Request-Foo από την αρχική απάντηση

14, RewritePath GatewayFilter Factory

Παράκαμψη της αρχικής διαδρομής αιτήματος με μια κανονική έκφραση, παράδειγμα ρύθμισης παραμέτρων:


Αυτή η ρύθμιση επιτρέπει την πρόσβαση στο /foo/bar για να ξαναγράψει τη διαδρομή στο /bar και να την προωθήσει, δηλαδή να προωθηθεί σε https://example.org/bar。 Σημειώστε ότι λόγω της σύνταξης YAML, πρέπει να χρησιμοποιηθεί το $\ αντί για το $

15, RewriteResponseHeader GatewayFilter Factory

Ξαναγράψτε μια κεφαλίδα στην αρχική απάντηση, παράδειγμα διαμόρφωσης:


Η σημασία αυτής της διαμόρφωσης είναι ότι εάν η τιμή του X-Response-Foo στην κεφαλίδα απόκρισης είναι /42?user=ford&password=omg!what&flag=true, τότε θα ξαναγραφτεί σε /42?user=ford&password=***&flag=true σύμφωνα με τη διαμορφωμένη τιμή, δηλαδή το password=omg!what θα ξαναγραφτεί στο password=***

16, SaveSession GatewayFilter Factory

Πριν προωθήσετε το αίτημα, εφαρμόστε τη λειτουργία WebSession::save, παράδειγμα διαμόρφωσης:


Χρησιμοποιείται κυρίως για αναβαλλόμενη αποθήκευση δεδομένων (τα δεδομένα δεν διατηρούνται αμέσως) όπως το Spring Session και θέλει να διασφαλίσει ότι η κατάσταση συνεδρίας αποθηκεύεται πριν από την προώθηση του αιτήματος. Εάν ενσωματώσετε το Spring Secutiry στο Spring Session και θέλετε να διασφαλίσετε ότι όλες οι πληροφορίες ασφαλείας μεταδίδονται σε κατάντη μηχανήματα, πρέπει να διαμορφώσετε αυτό το φίλτρο.

17, Εργοστάσιο GatewayFilter secureHeaders

Το εργοστάσιο φίλτρων secureHeaders βασίζεται κυρίως στις συστάσεις αυτού του ιστολογίου, προσθέτοντας μια σειρά από κεφαλίδες απόκρισης που παίζουν ρόλο ασφαλείας στην αρχική απόκριση. Από προεπιλογή, προστίθενται οι ακόλουθες Επικεφαλίδες (συμπεριλαμβανομένων των τιμών):


  • X-Xss-Protection:1; mode=block
  • Strict-Transport-Security:max-age=631138519
  • X-Frame-Options:DENY
  • X-Content-Type-Options:nosniff
  • Referrer-Policy:no-referrer
  • Content-Security-Policy:default-src 'self' https:; font-src 'self' https: data:; img-src 'self' https: data:; object-src 'none'; script-src https:; style-src 'self' https: 'unsafe-inline'
  • X-Download-Options:noopen
  • X-Permitted-Cross-Domain-Policies:none


Εάν θέλετε να τροποποιήσετε τις τιμές αυτών των Επικεφαλίδων, τότε θα πρέπει να χρησιμοποιήσετε τα αντίστοιχα επιθήματα αυτών των Επικεφαλίδων, ως εξής:

  • xss-προστασία-κεφαλίδα
  • Αυστηρή-Μεταφορά-Ασφάλεια
  • επιλογές πλαισίου
  • επιλογές τύπου-περιεχομένου
  • Πολιτική παραπομπής
  • περιεχόμενο-ασφάλεια-πολιτική
  • Επιλογές λήψης
  • επιτρεπόμενες-διατομεακές-πολιτικές


Παράδειγμα διαμόρφωσης:


Εάν θέλετε να απενεργοποιήσετε ορισμένες κεφαλίδες, μπορείτε να χρησιμοποιήσετε την ακόλουθη διαμόρφωση:

18, SetPath GatewayFilter Factory

Τροποποιήστε την αρχική διαδρομή αιτήματος και διαμορφώστε ένα παράδειγμα:


Αυτή η ρύθμιση το κάνει να προωθείται στο ${GATEWAY_URL}/foo/bar κατά την πρόσβασηhttps://example.org/bar , δηλαδή, το αρχικό /foo/bar άλλαξε σε /bar

19, SetResponseHeader GatewayFilter Factory

Τροποποιήστε την τιμή μιας κεφαλίδας στην αρχική απόκριση, διαμορφώστε ένα παράδειγμα:


Τροποποιήστε την τιμή του X-Response-Foo στην αρχική απόκριση στο Bar

20, SetStatus GatewayFilter Factory

Τροποποιήστε τον κωδικό κατάστασης της αρχικής απόκρισης, παράδειγμα διαμόρφωσης:


Η τιμή του SetStatusd μπορεί να είναι είτε ένας αριθμός είτε μια συμβολοσειρά. Αλλά πρέπει να είναι η τιμή στην κλάση απαρίθμησης Spring HttpStatus. Και οι δύο παραπάνω διαμορφώσεις μπορούν να επιστρέψουν τον κωδικό κατάστασης HTTP 401.

21, StripPrefix GatewayFilter Factory

Για την περικοπή της διαδρομής του αρχικού αιτήματος, παράδειγμα διαμόρφωσης:


Όπως φαίνεται στην παραπάνω διαμόρφωση, εάν η ζητούμενη διαδρομή είναι /name/bar/foo, τότε θα περικοπεί στο /foo και θα προωθηθεί, δηλαδή θα περικοπούν 2 διαδρομές.

22, Δοκιμάστε ξανά το GatewayFilter Factory

Δοκιμάστε ξανά για διαφορετικές αποκρίσεις, π.χ. για κωδικούς κατάστασης HTTP, παράδειγμα διαμόρφωσης:


Μπορούν να διαμορφωθούν οι ακόλουθες παράμετροι:

  • retries: Ο αριθμός των επαναλήψεων
  • statuses: Ο κωδικός κατάστασης που πρέπει να δοκιμαστεί ξανά, ο οποίος ορίζεται στο org.springframework.http.HttpStatus
  • methods: Η μέθοδος αίτησης που πρέπει να δοκιμαστεί ξανά, με τιμή στο org.springframework.http.HttpMethod
  • σειρά:ακολουθία κωδικών κατάστασης HTTP, με τιμή στο org.springframework.http.HttpStatus.Series


23, RequestSize GatewayFilter Factory

Ορίστε το μέγεθος των μέγιστων πακέτων αιτημάτων που επιτρέπεται να ληφθούν, παράδειγμα διαμόρφωσης:


Αν το μέγεθος του πακέτου αιτήματος υπερβαίνει την καθορισμένη τιμή, επιστρέφεται ένα φορτίο 413 «Πολύ μεγάλο» μαζί με ένα μήνυμα σφάλματος

24, Τροποποίηση αιτήματος Body GatewayFilter Factory

Τροποποιήστε το αρχικό περιεχόμενο του σώματος αιτήματος πριν προωθήσετε το αίτημα, το εργοστάσιο φίλτρου μπορεί να ρυθμιστεί μόνο με κωδικό και όχι στο αρχείο διαμόρφωσης. Παράδειγμα κώδικα:


Συμβουλές: Αυτό το εργοστάσιο φίλτρων βρίσκεται σε κατάσταση BETA και το API ενδέχεται να αλλάξει στο μέλλον.Χρησιμοποιήστε το περιβάλλον παραγωγής με προσοχή

25, Τροποποίηση Response Body GatewayFilter Factory

Το εργοστάσιο φίλτρων μπορεί επίσης να χρησιμοποιηθεί για την τροποποίηση των περιεχομένων του αρχικού σώματος απόκρισης και το εργοστάσιο φίλτρων μπορεί να διαμορφωθεί μόνο με κώδικα και όχι στο αρχείο διαμόρφωσης. Παράδειγμα κώδικα:


Συμβουλές: Αυτό το εργοστάσιο φίλτρων βρίσκεται σε κατάσταση BETA, το API μπορεί να αλλάξει στο μέλλον, χρησιμοποιήστε το με προσοχή στο περιβάλλον παραγωγής

26, Προεπιλεγμένα φίλτρα

Τα προεπιλεγμένα φίλτρα χρησιμοποιούνται για την προσθήκη εργοστασίου φίλτρου σε όλες τις διαδρομές, δηλαδή για τη διέλευσηΤο εργοστασιακό φίλτρο που έχει διαμορφωθεί από το προεπιλεγμένο φίλτρο θα ισχύει για όλες τις δρομολογήσεις。 Παράδειγμα διαμόρφωσης:


(Τέλος)




Προηγούμενος:Τα αρχεία καταγραφής Docker γεμίζουν δίσκους και μετεγκατάσταση δεδομένων
Επόμενος:Οι δυναμικά συνδεδεμένες εντολές SQL Java αποτρέπουν την έγχυση βάσης δεδομένων
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com