Blokowanie widoku źródła strony lub ograniczenie dostępu

Macie jakieś gotowe rozwiązanie lub skuteczny skrypt, który zablokuje możliwość wglądu do źródła strony. Takie żeby działał na większości przeglądarek i nie było coś typu blokada ppm. Wiem, że może to nie właściwe rozwiązanie blokować widok kodu, lecz akurat teraz zaszła taka pilna potrzeba.

Jeśli istnieje chociaż rozwiązanie, które pozwoli ukryć jakiś fragment kodu po wyświetleniu źródła.

Głównie chodzi mi właśnie o nie pokazywanie samego źródła strony.

Chyba, że istnieje sposób właśnie wpadło mi do głowy, aby ograniczyć wyświetlanie strony poprzez sesję do jednego użytkownika tj. tylko klient mógłby zobaczyć efekt a każdy kolejny otrzymywałbym blokadę. Da radę coś takiego zrobić?

2 lata, 4 miesiące temu | edytowane przez: rzientek 435221243

  • Nie zrobisz tego tak by można było wszystko ukryć, ale możesz ukryć przed nie do końca zdeterminowanym użytkownikiem. Po pierwsze możesz dociągnąć przy pomocy XMLHttpRequest kod HTML który wstawisz w DIVa [user może to podejrzeć np. FireBugiem, ale większość tego nie potrafi], po drugie możesz tym samym XMLHttpRequest podesłać np. JSONa i na podstawie danych w nim wygenerować zawartość strony, możesz też skorzystać z Appletu czy ActiveX'a który w sobie będzie miał interesujący Cię kod, który na stronie umieścisz w mniej więcej taki sposób:

    function $(id) { return document.getElementById(id); }
    var html = ourApplet.getHTMLCodeForSemiSecretPart();
    $("secretPart").innerHTML=html;
    

    User może sobie podejrzeć sciągniętego JARa, ale już większej wiedzy będzie wymagało odczytanie tekstu w nim zawartego. A wszystkie te pomysły opierają się na takiej idei, że user zwykle nie potrafi wyciągnąć zawartości DIV'a...

    Podziel się informacją po co Ci to, może się uda coś bardziej skutecznego zrobić, choć wątpię.

    Jeszcze jedna rzecz, czasem potrzebujesz jakiejś wartości tylko w skrypcie JS, w takim przypadku wartość możesz pobrać jednym z wymienionych wyżej sposobów, i wykorzystywać ją tylko wewnętrznie w wybranej funkcji..... choć i tak to można "złamać" przy pomocy debugowania JavaScript'u.

    Jest jeszcze możliwość użycia rysunku do zastąpienia jakiegoś kawałka strony.

    I ostatnia możliwość to użycie Appletu lub ActiveX'a do wyświetlenia tego co chcesz "ukryć", można przesłać dane w postaci zaszyfrowanej i wyświetlić, nadal to można złamać, ale już nie tak łatwo.

  • Ale nie ma takiej fizycznej możliwości. Jak chwilę pomyślisz nad tym, jak działa przeglądarka internetowa i protokół HTTP, to raz-dwa sobie to uświadomisz.

  • @lqc, @jedrek, jemu raczej chodzio o niepokazywanie HTML-a, widać to po tagach, które podał

    @jedrek, dodatkowo z niepokazywaniem kodu PHP gościowi, który siedzi przed przeglądarką raczej nie ma problemów, to o czym piszesz (zaciemnianie i kodowanie PHP) robi się gdy udostępniasz komuś kod, ale nie chcesz, aby zobaczył jak działa

    zresztą zaciemnienie można zastosować wobec HTMLa też, są programy, które usuwają spacje, tabulacje oraz entery z kodu HTMLa i trochę źle się go wtedy czyta, no ale oczywiście można użyć jakiegoś programu i ułożyć kod tak aby był czytelny dla człowieka, dodatkowo takie usunięcie troszkę zmniejsza rozmiar pliku do ściągnięcia, a więc przyspiesza

  • Od siebie dodam także, że wszelkie "szyfrowania" stron są zabezpieczeniem dla totalnych lajków. Funkcja odkodowująca nie może być zaszyfrowana, więc, chcąc nie chcąc rozebranie kodu na czynniki pierwsze nie powinno nastręczać problemów.

  • A mi się wydaje, że nie chodziło o brak dostępu do podglądnięcia źródła, które wyświetla przeglądarka bo tak jak ktoś napisał nie jest to możliwe.

    Autorowi chodziło raczej o zabezpieczenie plików źródłowych, które przesyłane są w postaci paczki zip. Rozwiązania są dwa (przynajmniej tyle poznałem dot. PHP):

    1. Zaciemnianie kodu (ang. security by obscurity) - ogólnie rzecz biorąc robi misz-masz z kodem zaciemniając go np. poprzez zamianę nazw zmiennych, usunięcie białych znaków i komentarzy. Kod staje się nie czytelny dla człowieka. Dla parsera PHP oczywiście nie ma to znaczenia. Nie daje to jednak 100% zabezpieczenia można przyjąć, że po prostu trudniej się czyta kod.

    2. Kodowanie źródeł PHP - narzędzia, takie jak ionCube czy Zend Guard, dokonują kompilacji źródeł PHP do tzw. kodu pośredniego, zapisanego w postaci binarnej i nieczytelnego dla człowieka. Niestety aby tak zabezpieczone oprogramowanie działało, na serwerze też musi być odpowiedni soft.

    Więcej na temat tych 2 metod w: PHP5. Bezpieczne programowanie. Leksykon kieszonkowy

Zaloguj się, aby dodać swoją odpowiedź