Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]wykrycie obslugi java script
Forum PHP.pl > Forum > Przedszkole
jol.us_
Robie panel administracyjny, w ktorym javascript'em waliduje pola formularzy (ilosci znakow, forme, itp).
Chcialbym aby uzytkownik z wylaczonym javascriptem mial zablokowany dostep do tej strony.

Czy da sie wykryc przy uzyciu php czy przegladarka ma wlaczony javascript i w razie koniecznosci wykonac odpowiedni kod, na zasadzie:
  1. <?php
  2. if ($jest_javascript == 1) {
  3.  //kod strony
  4. } else {
  5.  print 'Komunikat o wylaczonym javascript';
  6.  exit();
  7. }
  8. ?>
UDAT
1. Bezpośrednio się nie da. Napisz sobie skrypt w JS który cię przekierowuje na stronę z ustawieniem zmiennej.
2. Nie wykonuj pierwszego tongue.gif, wyłączę sobię w Operze po zalogowaniu i przesłaniu strony wyłącze JS i prześlę ci złe dane.
3. Użyj do przesyłania AJAX'a

Osobiście preferuje 3.
zdzichu
brawo- idealny sposób, aby niepełnosprawnych korzystających z internetu szlag trafił- bo ciężko zrobić głupią walidację w php.
Cysiaczek
@zdzichu - możesz rozwinąć myśl? Nie bardzo rozumiem dlaczego ma niepełnosprawnych "trafiać szlag" z powodu walidacji JS na stronie? Jak chcesz to zrobić w php?
jol.us_
UDAT: dzieki za odpowiedz. Tak tez myslalem, ale wolalem sie upewnic.

@zdzichu: przeczytaj wpierw post'a a potem sie wypowiadaj. Jak pisalem, robie panel administracyjny, wiec grono uzytkownikow jest bardzo waske. Walidacji php uzywam jedynie przy polach krytycznych i to dopiero "w drugiej linii" po walidacji js. Javascript nie moze byc wylacznym walidatorem ale czesto bywa bardzo przydatny, zwlaszcza w przypadku zwyklego zapominalstwa uzytkownika.
zdzichu
Cytat
Chcialbym aby uzytkownik z wylaczonym javascriptem mial zablokowany dostep do tej strony.
.
Część przeglądarek dla niepełnosprawnych nie korzysta z javascriptu- ba, ja również czasami wyłączam go(jestem "zwykłym", pełnosprawnym użytkownikiem, korzystającym ze "standardowego" oprogramowania) -z różnych powodów-czasami nie odpalam środowiska graficznego i działam na lynksie i również wtedy nie mam włączonego JS`u.
Cytat
Jak chcesz to zrobić w php?

Wszystko zależy co trzeba zrobić- zapewne funkcje typu is_int(),strlen(), sprawdzenie czy ciąg jest poprawnym adresem mail też specjalnym problemem nie jest, prawda?

Cytat
@zdzichu: przeczytaj wpierw post'a a potem sie wypowiadaj.
gwarantuje Ci, że przeczytałem Twojego posta.
Cytat
Jak pisalem, robie panel administracyjny, wiec grono uzytkownikow jest bardzo waske.
jasne- ale zawsze może się znaleźć jakiś admin, który zechce mieć wyłączony JS i wtedy ma zablokowany dostęp...
Cytat
Javascript nie moze byc wylacznym walidatorem ale czesto bywa bardzo przydatny, zwlaszcza w przypadku zwyklego zapominalstwa uzytkownika.

tu się zgodzę. sam używam validacji Js`em np. przy formularzach kontaktowych- jednak jako dodatkowy bajer, przy wyłączonym JS`ie wszystko ma taką samą funkcjonalność....
jarrod
Włączę się do dyskusji...

Cytat(zdzichu @ 4.11.2006, 21:05:18 ) *
(jestem "zwykłym", pełnosprawnym użytkownikiem (...)
z różnych powodów-czasami nie odpalam środowiska graficznego i działam na lynksie i również wtedy nie mam włączonego JS`u.

A czy zwykły pełnosprawny użytkownik chodzi po necie na lynxie?questionmark.gif


Cytat(zdzichu @ 4.11.2006, 21:05:18 ) *
Wszystko zależy co trzeba zrobić- zapewne funkcje typu is_int(),strlen(), sprawdzenie czy ciąg jest poprawnym adresem mail też specjalnym problemem nie jest, prawda?

Tu się w 100% zgadzam. Walidacja po stronie php też musi być

Cytat(zdzichu @ 4.11.2006, 21:05:18 ) *
jasne- ale zawsze może się znaleźć jakiś admin, który zechce mieć wyłączony JS i wtedy ma zablokowany dostęp...

Logując się do phpMyAdmina musisz mieć włączoną obsługę cookies. Niektórzy nie chcę mieć jej włączonej. Ale co z tego? To ich problem.

Nie rozumię dlaczego kogokolwiek miałby trafiać szlag za walidację js?
Za dużo kodu i strona się długo ładuje? - to nie te czasy...
Bo pojawia się alert że nie wypełniłeś pola? - i słusznie!

Jeśli kod jest dobrze napisany to nawet nie zauważysz żę w tle działa 10 funkcji JS...
A jeśli użytkownik wyłączy JS czy co bardziej oszołomiony używa lynxa do zwykłego chodzenia po necie to masz jeszcze walidację w php. that`s all
zdzichu
nie zrozumiałeś mnie. Vaidacja JS sama w sobie nie jest zła- jak już pisałem nic do niej nie mam. natomiast blokowanie dostępności strony jest złe.
jol.us_
Widze ze sie troche dyskuskja nie na temat rozwinela. Nie pytalem o slusznosc takiego rozwiazania tylko o ewentualna mozliwosc.


Cytat
Część przeglądarek dla niepełnosprawnych nie korzysta z javascriptu- ba, ja również czasami wyłączam go(jestem "zwykłym", pełnosprawnym użytkownikiem, korzystającym ze "standardowego" oprogramowania) -z różnych powodów-czasami nie odpalam środowiska graficznego i działam na lynksie i również wtedy nie mam włączonego JS`u.


Ja czasem tez wylaczam javascript, ale nie rozmawiamy o nas. Zapewniam cie, ze moj klient nie ma pojecia o tym ze istnieje Lynk's. W tym konkretnym przypadku srodowisko graficzne jest wymogiem i bez niego nie uzyskasz takiej samej funkcjonalnosci. Powodem jest zintegrowane narzedzie WYSIWYG, ktore bez javascriptu bedzie zwylym polem textarea. Ja osobiscie nie uzywam takich narzedzi ale dla osoby, ktora kompletnie nie zna HTML'a to jest absolutne zbawienie. Tak, ze ograniczenie dostepnosci wynika z woli klienta a nie z mojej.


Cytat
Wszystko zależy co trzeba zrobić- zapewne funkcje typu is_int(),strlen(), sprawdzenie czy ciąg jest poprawnym adresem mail też specjalnym problemem nie jest, prawda?


Jak pisalem uzywam tych funkcji w przypadku pol obowiazkowych, ale dopiero "w drugiej linii" po walidacji js.


Cytat
jasne- ale zawsze może się znaleźć jakiś admin, który zechce mieć wyłączony JS i wtedy ma zablokowany dostęp...


Slowem kluczem tutaj slowo admin. Ty rozumiesz ze adminem jest ktos znajacy sie na rzeczy. Taki, ktory wie gdzie sie wylacza javascript w przegladarce i uruchomi sobie konsole by posurfowac sobie w trybie tekstowym. Niestety prawda jest inna. Nastaly takie czasy, ze Klient chce miec mozliwosc samodzielnej ingerencji w tresci i strukture swojego serwisu. Powiedz mu: sorry ale ja robie panel administracyjny na zwyklych formularz bo najwazniejsza jest ogolnodostepnosc. Wierz mi, wtedy skorzysta z uslug kogos innego, bo praca z narzedziem typu phpMyAdmin jest ponad mozliwosci jego pojmowania. Chyba lepiej mu powiedziec: ok zrobie to, ale beda pewne ograniczenia w uzytkowaniu (przegladarka, javascript, itp.). Ba, mozna by pojsc o krok dalej. Przeciez serwisem po jakims czasie moze zajac sie ktos inny, ktory nie byl poinformowany o takich ograniczeniach. Nagle koles dostaje komputer, gdzie jest zainstalowana Opera z wylaczonym js, bo np. poprzedni uzytkownik tak sobie surfowal. Czy nie byloby lepiej go poinformowac, ze nie spelnia wymagan potrzebnych do pelnej funkconalnosci systemu. Oczywiscie wylaczanie dostepu to jest przypadek skrajny ale informacja powinna zostac przekazana. Stad poniekad wynikalo moje pytanie.
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.