|
|
Opublikowano 13.09.2018 13:03:22
|
|
|

Ten artykuł opisuje propozycję parametru metadanych dla referera w protokole HTTP, dzięki któremu dokumentacja HTML może decydować, czy wysyłać referer, tylko nazwę hosta, czy pełny referer. Chociaż istnieją sposoby na kontrolę refererów, takie jak flash czy niektóre triki js, ten artykuł przedstawia inną historię.
Scenariusze użycia
W niektórych przypadkach ten parametr metadanych refererów może być użyty, gdy strona chce kontrolować informacje o refererze, które strona wysyła do serwera z różnych powodów.
Prywatność
Serwisy społecznościowe zazwyczaj mają strony osobiste użytkowników, na których użytkownicy mogą dodawać linki do Internetu, a serwisy społecznościowe mogą nie chcieć ujawniać adresu URL strony użytkownika po kliknięciu w te linki, ponieważ mogą one zawierać wrażliwe informacje. Oczywiście niektóre serwisy społecznościowe mogą chcieć po prostu podać nazwę hosta w referencji zamiast pełnej informacji o URL.
Bezpieczeństwo
Niektóre strony korzystające z https mogą używać parametru (sid itp.) w URL jako danych uwierzytelniających użytkownika i muszą importować zasoby z innych stron https, w takim przypadku strona z pewnością nie chce ujawniać danych uwierzytelniających użytkownika.
Dyscyplina Obiektowo-Możliwości
Niektóre strony stosują Dyscyplinę Object-Ability, a referer jest dokładnym przeciwieństwem tej strategii, więc korzystne byłoby, gdyby strona mogła kontrolować refeera.
Szczegóły techniczne:
Parametr metedanych referera można ustawić na następujące typy:
nigdy zawsze Pochodzenie Domyślne Jeśli wstawisz meta tag w dokumencie, a atrybut nazwy ma wartość referer, klient przeglądarki obsłuży ten tag w następujący sposób:
Po powyższych krokach, gdy przeglądarka w przyszłości wykona żądanie HTTP, odpowie zgodnie z wartością treści w następujący sposób (wartość referer-policy poniżej to wartość treści w tagu meta):
przykład Jeśli strona zawiera następujące meta tagi, wszystkie żądania z bieżącej strony nie będą zawierać referera:
Jeśli strona zawiera następujący meta tag, żądanie HTTP z bieżącej strony będzie zawierać tylko część źródłową (uwaga: w zależności od kontekstu oryginalnego tekstu, rozumiem, że origin tutaj jest częściowym URL-em zawierającym schemat i nazwę hosta, a nie inne części URL po ścieżce itd.), a nie pełny URL:
Uwaga: Przy użyciu meta tagów opisanych w tym artykule, oryginalna polityka refererów przeglądarki zostanie złamana, na przykład podczas przeskakiwania ze strony protokołu HTTP na stronę https; jeśli zostanie ustawiona odpowiednia wartość, referer również zostanie przeniesiony.
Inne pytania Co to ma wspólnego z rel=noreferer? Możliwe, że rel=noreferer nadpisuje wartość ustaloną przez meta tag w tym artykule. To znaczy funkcjonalne ubezpieczenie. Informacje o pochodzeniu nie są pełnym URL, więc klient przeglądarki prawdopodobnie doda / po początku jako część ścieżki. Co by się stało, gdyby Origin był unikalny? Szacuje się, że referent zostanie zignorowany.
|
Poprzedni:Ścieżka klas zawiera wiele przypisań SLF4J.Następny:Efekty kliknięcia myszką na front-end: wolność, demokracja, dobrobyt
|