Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wykrywanie jezyka systemu i przeglądarki
Forum PHP.pl > Forum > PHP
buczer
witam
mam 2 strony internetowe. jedną w języku polskim a drugą taką samą z tymże w kilku językach obcych.
Chciałbym zablokować dostęp do polskiej strony osobą z zagranicy.
Zrobiłem to na podstawie języka przeglądarki użytkownika
Kod
$_SERVER['HTTP_ACCEPT_LANGUAGE']

ale ten sposób nie jest dobry ponieważ wiele osób w Polsce ma ustawiony w przeglądarce język inny niż polski i automatycznie nie wejdzie na stronę polską.
Może dobrym sposobem było by sprawdzenie języka przeglądarki, a następnie języka systemu operacyjnego. tylko nie wiem w jaki sposób wykryć język systemu operacyjnego.
Macie może jakiś pomysł jak rozwiązać ten problem.
nospor
No najlepiej jakbyś sprawdzał po IP. Jest wiele baz które mowią z jakiego kraju pochodzi dane IP
vokiel
Nagłówek Accept-Language jest dobry do ustawienia wersji językowej strony. Nawet jeśli źle zadziała nic się nie stanie, do blokowania dostępu niestety się nie nadaje. Nawet jeśli zadziała poprawnie, to wystarczy, że ktoś się zorientuje, przestawi i już zabezpieczenie można o kant kuli pobić.
buczer
myślałem o sprawdzania IP ale zastanawiam sie jaki procent polaków nie dostanie się na stronę polską
Ja wiem ze te bazy się rozrastają ale nie zawierają wszystkich numerów ip
pp-layouts
Jak ktoś sobie zmienił domyślny język w przeglądarce, to znaczy, że ma podstawowe pojęcie o obsłudze przeglądarki, a nawet najprawdopodobnie wie, do czego służy opcja którą zmienił i co się z tym wiążę. Jak ktoś nie potrafi obsługiwać komputera / przeglądarki - to prawdopodobnie ma standardową przeglądarkę ze standardowym systemem, czyli na 99,99% będzie miał ustawiony swój domyślny język (bo z reguły będzie to osoba nie znająca innego języka).

Mój framework używa HTTP_ACCEPT_LANGUAGE do obsługi modułu i18n, który automatycznie ładuje wersje językowe napisów aplikacji. Ustawianie języka w przeglądarce jest dobre, bo można sobie łatwo przetestować jak będzie wyglądała strona w różnych językach. Dodatkowo umożliwia pozbycie się wyboru wersji językowej z interfejsu.

Jeśli chodzi o zabezpieczanie: "don't be evil". Blokowanie dostępu ze względu na państwo jest złe. Wymuszanie języka lub wersji językowej ze względu na lokalizację jest IMHO nieeleganckie i niepraktyczne, bo pomyśl o całej masie naszych rodaków w UK, którzy być może woleliby polską wersję językową. Lub o gościach zza granicy, którzy z polskiej kafejki internetowej wejdą sobie na tą stronę. Ustawienie przeglądarki to IMHO najlepsza metoda - bo domyślnie przeglądarka jest prawie zawsze ustawiona na właściwy język. Mnóstwo międzynarodowych serwisów używa tej techniki, jak zmienisz język w przeglądarce, zauważysz. Najważniejsze jest jednak to, że pomimo "preselekcji" użytkownik zawsze ma wybór.

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.