Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 31.01.2010 Ostrzeżenie: (0%)
|
Witam!
Potrzebuję pomocy przy zabezpieczeniem pojedynczych zdjęć na stronie hasłem. Chodzi o to, żeby w danej galerii niektóre zdjęcia były zawsze dostępne (widoczne), a inne dopiero po podaniu hasła (jedno hasło dla wszystkich zdjęć). Wymyśliłem, że najzgrabniej byłoby, gdyby te "zabezpieczone" zdjęcia były oznaczone w jakiś sposób w kodzie, a do tego podpięty kod Javascript (na takiej zasadzie jak standardowy lightbox), który zamienia źródło src zdjęcia, jeśli odpowiednia zmienna sesyjna nie jest ustawiona. Po podaniu hasła zmienna sesyjna ustawia się i zdjęcie wyświetla się normalnie. Problem w tym, że bazuję na Wordpressie (jakiś odziedziczony szablon, wersja przestarzała, w dodatku zmodyfikowana..) i nie bardzo chcę grzebać w php, żeby tego całkiem nie posypać. Pomyślałem więc o Javascripcie jako jedynym rozwiązaniu, ale za to tutaj zupełnie nie mam doświadczenia. Bardzo proszę o pomoc w stworzeniu pliku js, który zamienia źródło obrazka w zależności od zmiennej sesyjnej. Pozdrawiam, Jakub Wciąż poszukuję rozwiązania. Proszę o pomoc. Może jakieś wskazówki? 17.12.2010 Nadal poszukuję. Naprawdę potrzebuję w tym pomocy. Czy w ogóle da się to rozwiązać Javascriptem? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%)
|
W wielkim skrócie
HTML: Kod <img src="./test.jpg" id="image"> JS+PHP: Kod <?php session_start(); if($_SESSION['test'] == /*COS TAM*/){?> document.getElementById('image').src = './nowy/plik.jpg'; //ew. onload=function(){ document.getElementById('image').src = './nowy/plik.jpg'; }; <?php } ?> Teraz pozostaje kwestia dopasowania tego do Twojego kodu. Jak masz jakieś pytania to pisz, tylko postaraj się je jak najbardziej skonkretyzować - bo teraz napisałeś chyba trochę zbyt ogólnie, a trudno żeby ktoś napisał za Ciebie cały kod:) |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%)
|
I Twoje zabezpieczenie da się rozbroić wyłączając JS, czy wchodząc bezpośrednim linkiem. Słaby pomysł. Lepiej użyć PHP, zdjęcia trzymać w niepublicznym katalogu i wyświetlać je przez skrypt.
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%)
|
Cytat I Twoje zabezpieczenie da się rozbroić wyłączając JS Nie da się(chodzi o wyłączenie JS) (IMG:style_emoticons/default/smile.gif) - wtedy po prostu nie będzie miał dostępu w ogóle do zdjęcia. Rację masz, że zabezpieczenie bardzo słabe, ale wydaje mi się, ze chodzi bardziej o odstraszenie(i tak 95% użytkowników, nic z tym nie zrobi), niż poważne zabezpieczenia. |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%)
|
Dobra, ale wystarczy, że wejdę na adresUrl/nowy/plik.jpg i mam dostęp do zdjęcia, a script kiddies będą się chwaliły przed kolegami jak to złamali zabezpieczenia takiej strony.
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%)
|
Ale nie będziesz znał adresu, gdy wcześniej nigdzie nie zobaczyłeś tego obrazka na kompie (IMG:style_emoticons/default/smile.gif) - więc samo w sobie przy pierwszym włączeniu strony nie jest to takie proste - poza tym pisałem tylko o JS, którego wyłączenie nic Ci nie da. Ale zgadzam się z Tobą, że warto by było się trochę pomęczyć (IMG:style_emoticons/default/smile.gif)
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 31.01.2010 Ostrzeżenie: (0%)
|
Dzięki za wskazówki. Oczywiście, że zrobiłbym to przez php, ale to chrzaniony Wordpress 2.0 zmodyfikowany w kodzie przez jakiegoś laika. Gdybym teraz chciał to wszystko odkręcać, chyba bym się prędzej zastrzelił.
Zdjęcia, które chcę zabezpieczyć na szczęście nie mają wielkiej wartości, chodzi raczej o uspokojenie pewnych osób. Mam plan całkowicie przebudować tę stronę, ale tymczasowo potrzebuję czegoś szybkiego i prostego. A teraz o samej metodzie - niestety nie działa. Albo ja coś robię źle, albo Wordpress blokuje JavaScript. Fragment kodu testowego (odwróciłem zasadę, żeby było łatwiej testować, czyli kiedy sesja nieustawiona, ładuje się skrypt, który wszystkim zdjęciom o określonym id nadaje src=brak_dostepu.jpg): To w head:
Fotka oczywiście oznaczona przez id="passfoto":
Na pewno nie jest to problem sesji - testowałem, działa poprawnie. Źródło grafiki brak_dostepu.jpg też jest ok. Ten post edytował kubislaw 18.12.2010, 23:43:10 |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%)
|
Spróbuj ze zdarzeniem onload, to co jest w komentarzu w moim kodzie
Poza tym nie baw się tym echo, zrób tak jak Ci pokazałem, przy edycji wiele ułatwia (IMG:style_emoticons/default/smile.gif) Kod <?php if($_SESSION['fotki'] != 'yes'){ ?> <script language="JavaScript"> onload = function(){ document.getElementById('passfoto').src = '(ścieżka do pliku brak_dostepu.jpg)'; } </script> <?php } ?> Jak nadal nie zadziała to zobacz konsolę błędów, jak nadal nic nie pomoże to daj jakieś demo -> tylko proste i z kodem PHP gdzieś z boku |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 15:12 |