Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Portal oparty na javascript
qooxdoo
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 30.08.2007

Ostrzeżenie: (0%)
-----


Hej

Czy portal oparty na javascript jest bezpieczny? Mam na myśli:
  1. function page(url, title){
  2. var allowed = Array("omnie.html", "main.html", "komentarze.php", "flvplayer.html");
  3. if(in_array(url, allowed)==1){
  4. document.getElementById("cnt").src = "pages/"+url;
  5. document.title=title;
  6. }
  7. else
  8. alert("Dostęp zabroniony");
  9. }

Polega to na tym, że klikając w menu nie ładuje się cała strona od nowa, tylko element iframe ("cnt") zmienia swój atrybut src (na plik podany w funkcji)

W praktyce wygląda to tak:
  1. <a href="javascript:page('omnie.html', 'Inni o mnie')">Inni o mnie</a>


Jedynym zabezpieczeniem jest tablica, w której znajdują się pliki, które przglądarka może ładować do iframe.

I tu moje pytanie, czy to oby bezpieczne? Bo przecierz można wpiszać w pasku adresu java script:page('../secret.txt', 'a'); niby wyskoczy błąd, ale to się dzieje po stronie przeglądarki. Hackerem nie jestem, więc wydaje mi się, że nie da sie tego obejść. Proszę o rady.

PS. mógłbym zrobić to w php, ale wtedy strona by się przeładowywała za każdym kliknięciem linka w menu. A ja musze temu zapobiec (dość obszerna statyczna część strony)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
RaNdaLLHD
post
Post #2





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 21.06.2007

Ostrzeżenie: (0%)
-----


A próbowałeś do tego celu wykorzystać Ajax?
Go to the top of the page
+Quote Post
yaro
post
Post #3





Grupa: Zarejestrowani
Postów: 160
Pomógł: 4
Dołączył: 22.04.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Raczej jest to bezpieczne, tyle tylko że pokazujesz wszystkie podstrony w tablicy. Z resztą i tak sam byłoby z linkami. Więc sądzę że to rozwiązanie jest bezpieczne. Musisz się zabezpieczyć po stronie serwera.
Nawet to sprawdzanie nie jest potrzebne, bo lepiej zabezpieczysz sie po stronie serwera.
Go to the top of the page
+Quote Post
eai
post
Post #4





Grupa: Zarejestrowani
Postów: 367
Pomógł: 10
Dołączył: 20.05.2005

Ostrzeżenie: (0%)
-----


Wystarczy wyłączyć JS, zresztą do FF jest dużo wtyczek które pomagają omijać takiego typu rzeczy... dlaczego?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Bo to sie dzieje po stronie przeglądarki, więc nie jest bezpieczne. Zawsze zabezpieczaj sie po stronie serwera!
Go to the top of the page
+Quote Post
qqrq
post
Post #5





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Ktoś tu pomyślał i źle wymyślił...
Twoje rozwiązanie jest o tyle bez sensu, że iframe-y (czy też ogólnie ramki) mają tą własność, że wczytują się do nich dane bez przeładowania strony. Musisz tylko w odnośniku powiedzieć do której ramki strona o podanym adresie ma się wczytać. Nie pamiętam dokładnie (ramek raczej nie używam), ale chyba trzeba ramce nadać imię (name), a w odnośniku ustawić cel (target) na imię naszej ramki. Czyli:

  1. <iframe src="costam.html" name="ramka"></iframe>
  2. <a href="strona.html" target="ramka">Klik!</a>


i już! Twój sposób jest dobry, ale niepotrzebny - to jak z czołgiem na muchy startować. Zresztą JS można wyłączyć i wtedy strona nie będzie działać... A jeszcze ktoś ci coś brzydkiego na serwer wrzuci (jakoś by się chyba dało - dla chcącego...).
Go to the top of the page
+Quote Post
qooxdoo
post
Post #6





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 30.08.2007

Ostrzeżenie: (0%)
-----


Sam już nie wiem, to można to ominąć?

Cytat(qqrq @ 28.09.2007, 02:21:51 ) *
Musisz tylko w odnośniku powiedzieć do której ramki strona o podanym adresie ma się wczytać.

ale w mojej funkcji używam jeszcze argumentu Title, bo w końcu zmieniając zawartość ramki na belce pojawia się napis 'Strona główna', lub 'O mnie' (page('main.html', 'Strona Główna')(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Sam już nie wiem
Go to the top of the page
+Quote Post
Wykladowca
post
Post #7





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 19.04.2006

Ostrzeżenie: (0%)
-----


Z tak zwanym palcem w... nosie. Twoje zabezpieczenie nic nie daje przeciwko FF z kilkoma wtyczkami czy "gołej" Operze. Jak chcesz ukryć zawartośc podstron przed wszystkimi - po prostu nie podawaj nigdzie linków. Ciężko trafić na daną stronę wpisując na oślep adres. Jeżeli chcesz zabezpieczyć przed niektórymi użytkownikami, skorzystaj z php.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 14:39