Ρητά διαπιστευτήρια για ένα .NET WebProxy
Αναθέστε τα διαπιστευτήρια ρητά κατά τη δημιουργία ενός .NET WebProxy αντί να υποθέτετε ότι ένα URI με διαπιστευτήρια γεμίζει τον λογαριασμό του.
Ένα URI μπορεί να περιέχει username:password πριν από τον κεντρικό υπολογιστή του. Αυτό δεν σημαίνει ότι κάθε .NET API που δέχεται αυτό το URI αντιγράφει τις πληροφορίες χρήστη σε ένα αντικείμενο ελέγχου ταυτότητας.
Όταν δημιουργείτε απευθείας WebProxy, κάντε την ανάθεση διαπιστευτηρίων ρητή:
var proxy = new WebProxy("http://203.0.113.10:8080")
{
Credentials = new NetworkCredential(proxyUser, proxyPassword)
};Οι μεταβλητές endpoint και λογαριασμού είναι ενδεικτικές. Έτσι η διεύθυνση προορισμού, η διεύθυνση διακομιστή μεσολάβησης και ο λογαριασμός του διακομιστή μένουν χωριστά.
Αν μια μορφή εισόδου παρέχει URL με διαπιστευτήρια, αναλύστε σκόπιμα τις πληροφορίες χρήστη της. Διατηρήστε έναν κωδικό που περιέχει άνω κάτω τελείες χωρίζοντας μόνο στον διαχωριστή διαπιστευτηρίων και αποκωδικοποιήστε τα κωδικοποιημένα τμήματα στο κατάλληλο στάδιο. Αποφύγετε την εκτύπωση του αρχικού URL όσο διαγιγνώσκετε αυτόν τον αναλυτή.
Ένα URL διακομιστή μεσολάβησης που λειτουργεί ως ρύθμιση περιβάλλοντος μπορεί να συμπεριφέρεται διαφορετικά όταν περνά σε άλλον κατασκευαστή. Η αρχικοποίηση του διακομιστή από το περιβάλλον έχει δική της λογική ανάλυσης· δεν είναι υπόσχεση ότι κάθε κατασκευαστής καταναλώνει τα ίδια πεδία.
Τέλος, τοποθετήστε το ρυθμισμένο αντικείμενο διακομιστή μεσολάβησης στον χειριστή που εκτελεί το αίτημα. Σωστά διαπιστευτήρια σε ένα αχρησιμοποίητο WebProxy δεν μπορούν να επηρεάσουν τη σύνδεση.