Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ukrywanie kodu html
Forum PHP.pl > Inne > Oceny
karis
Oto moje dzieło:

- Wprowadzacie kod html
- Zatwierdzacie
- Macie ukryty kod html!

LINK:

http://ukryjhtml.info43.pl/
flashdev
Jak spojrzałem na temat to pierwsza moja myśl to "po co to komu?".
A po drugie, masz błąd w skrypcie, zapomniałeś o htmlspecialchars winksmiley.jpg
karis
Np celem utrudnienia skopiowania czyjejś pracy (np kodowanie jakiegos designu), jesli osoba wykonujaca zlecenie pokazuje efekt pracy.

Dzięki za spostrzeżenie. Błąd poprawiłem smile.gif
flashdev
Cytat(karis @ 17.08.2010, 00:06:37 ) *
Np celem utrudnienia skopiowania czyjejś pracy (np kodowanie jakiegos designu), jesli osoba wykonujaca zlecenie pokazuje efekt pracy.

Dzięki za spostrzeżenie. Błąd poprawiłem smile.gif


Z tym zleceniem to rzeczywiście mnie przekonałeś. Może to i ma sens, bo do końcowej wersji strony/serwisu to nie widzę zastosowania tego skryptu.
W kodzie html to chyba nie ma nic tajemniczego do ukrycia smile.gif
karis
Na początku miało to być tylko dla użytku prywatnego, bo kiedyś zaszła taka potrzeba, klient niepewny byl i musialem ukryc kod html. Teraz opublikowałem dla wszystkich.
Adam_
Często w stopkach darmowych szablonów używają właśnie jakiegoś skryptu, który zakoduje kod html i żeby przeciętny użytkownik nie mógł usunąć linków ze stopki.
zelu
Po 1) Jeżeli ktoś ma wyłączony JavaScript to już nie zobaczy naszej strony?
Po 2) Kod i tak można odczytać za pomocą np Firebuga, więc zadziała to tylko na laików
Po 3) Skąd pewność, że w całym gąszczu Twoich zaciemnionych JSowych zmiennych nie ma jakieś próby np XSS?

Pozdro
foxbond
Jakoś średnio to działa bo wystarczy, że w chrome włączyłem developer tools (m.in. źródło strony w formie drzewka) i mam źródło całej strony NIE zakodowane.


EDIT:
Jak wziąłem 'view-source:' no to było zakodowane...
karis
Cytat(zelu @ 17.08.2010, 08:59:31 ) *
Po 1) Jeżeli ktoś ma wyłączony JavaScript to już nie zobaczy naszej strony?
Po 2) Kod i tak można odczytać za pomocą np Firebuga, więc zadziała to tylko na laików
Po 3) Skąd pewność, że w całym gąszczu Twoich zaciemnionych JSowych zmiennych nie ma jakieś próby np XSS?

Pozdro



kto w dzisiejszych czasach ma wyłaczony Javascript?
Adam_
Jak stosują to w darmowych szablonach, to głównie po to, aby nie zmieniać linków w stopce, ale kod html był widoczny dla każdego.
erix
Ale zabezpieczenie...
Ściągam źródło, zamiast document.write wpisuję np. console.log, odpalam i po Twoim "zabezpieczeniu"...

Cytat
kto w dzisiejszych czasach ma wyłaczony Javascript?

Oglądasz czasem strony w komórce?

Nieraz zdarzało mi się na terminalu uniksowym przeglądać Sieć, więc z dolnej części pleców Twój argument... Tak samo z panelami administracyjnymi: ten, kto opiera na wyłącznie JS ma bardzo ograniczone myślenie.
wookieb
Dla potomnych streszczę ten temat oraz dzieło.
"Co za głupota". Czytającym radzę przejść do innego tematu, dziękuję za uwagę.
karis
Cytat(wookieb @ 17.08.2010, 11:27:22 ) *
Dla potomnych streszczę ten temat oraz dzieło.
"Co za głupota". Czytającym radzę przejść do innego tematu, dziękuję za uwagę.



A ja tOBIE podziękuję
wookieb
A wiesz dlaczego?
1) PO CO chronić html? W dodatku w tak cholernie nieskuteczny sposób
2) PO CO używać do tego celu JS?
3) CÓŻ TAK CENNEGO może mieć na swojej stronie www, że trzeba to ukrywać?
4) JAK ROBOTY PRZEGLĄDAREK mają to poprawnie indeksować? (szczerze mówiąc nie sprawdzałem ale nie wierzę abym im to przypadło do gustu)
5) "Chciało Ci się?"
6)
Cytat
kto w dzisiejszych czasach ma wyłaczony Javascript?

Zamiast zadawać głupie pytania mające na celu "uratowanie" twojego "dzieła", zbadaj jak jest naprawdę.
r4xz
Cytat(wookieb @ 17.08.2010, 11:41:49 ) *
3) CÓŻ TAK CENNEGO może mieć na swojej stronie www, że trzeba to ukrywać?

tu akurat można dyskutować o wykorzystaniu do pokazywania przyszłym nabywcom rezultatu swojej pracy, tylko trzeba to zrobić w lepszy sposób. rolleyes.gif
erix
Cytat
A ja tOBIE podziękuję

Ale ~wookieb ma rację. HTML musi wyglądać tak, a nie inaczej, musi być czytelny, żeby przeglądarka go zinterpretowała.

A skoro próbujesz obfuskować kod i przeglądarka go wyświetla -> kwestia paru minut, aby przywrócić oryginalny wygląd. A sformatowanie, żeby był czytelny, to kwestia użycia np. Tidy.

Cytat
tu akurat można dyskutować o wykorzystaniu do pokazywania przyszłym nabywcom rezultatu swojej pracy,

Z ww. powodu jest to rozwiązanie pozbawione jakiegokolwiek sensu.
karis
co byście proponowali zmienic?
Pawel_W
najlepszym rozwiązaniem byłaby zmiana pomysłu...

znajdź coś, co się przyda, bo tego typu rozwiązania są do niczego...
zelu
Zaprzestać dalszych prac i usunąć tę stronę winksmiley.jpg

Coś co ma być widoczne nie może być ukryte. HTML musi być widoczny, żeby przeglądarka mogła go wyświetlić (obojętne, czy zaciemniony czy nie). A narzędzia typu firebug niweczą Twoją jakąkolwiek pracę w dosłownie 5 sekund.


Pozdro
erix
Brutalne, ale sobie odpuścić. Nie da się tego kodu w żaden sposób zaszyfrować. Jeśli przeglądarka jest zdolna taki kod zrenderować = da się go wyłuskać.
karis
no pewnie, że się da

ale idea tego pomysłu miała być taka, żeby utrudnić wgląd do kodu, głównie dla laików
Pawel_W
jakiś przykład takiego rozwiązania?

bo mówienie, że się da, to żaden dowód...
erix
Otwórz sobie Firebuga/DragonFly/Developer Tools, czy cokolwiek w tym stylu, otwórz tę stronę i zobaczysz bez grama pracy.

http://ifotos.pl/img/100817001_wnwrpq.png

Więcej mi zajęło wysłanie screena, pomimo że mam do tego automat.

Ach, tylko skrypty trzeba powycinać, ale to chyba nie problem?
Quantum
a ja to rozpracowałem! - główna idea jest taka, żeby zużyć jak najwięcej transferu na serwerze tongue.gif

po wpisanie znaku "a" dostaje 920 kolejnych zamiast 1
po wpisaniu "a \n b" tworzy się już 1861 cool.gif

..no jestem pod wrażeniem tongue.gif
r4xz
Cytat(r4xz @ 17.08.2010, 11:47:34 ) *
tu akurat można dyskutować o wykorzystaniu do pokazywania przyszłym nabywcom rezultatu swojej pracy, tylko trzeba to zrobić w lepszy sposób. rolleyes.gif



Cytat(erix @ 17.08.2010, 12:06:32 ) *
Z ww. powodu jest to rozwiązanie pozbawione jakiegokolwiek sensu.


naucz się czytać ze zrozumieniem - "tylko trzeba to zrobić w lepszy sposób"! dry.gif
kiedyś widziałem program do właśnie takiego wykorzystania i byle głupi firebug, dragonfly, ani własne wyszukiwanie odp. fragmentów strony było niemożliwe (po prostu całość była tak dobrze zakodowana)
tylko jedną wadę miał ten program - drogie, że głowa boli

PS jak znajdę to dam linka
erix
Cytat
kiedyś widziałem program do właśnie takiego wykorzystania i byle głupi firebug, dragonfly, ani własne wyszukiwanie odp. fragmentów strony było niemożliwe (po prostu całość była tak dobrze zakodowana)


Powtarzam jeszcze raz: skoro przeglądarka jest w stanie to zrenderować, to i Ty wyłuskasz, niezależnie jak by to było zaszyfrowane. Jak znaleźli jakiegoś exploita do Firebuga/etc, to inna sprawa.

Zawsze można dokleić skrypt, który zwraca elementy drzewa, czy choćby innerHTML. Nawet jeśli ten zakodowany skrypt sprawdza, czy coś nie jest doklejone - wystarczy zinstancjować np. Internet Explodera w WSH i bardzo prosto można odczytać zawartość, a skrypt nawet nie będzie o tym wiedział:
Kod
Set IE = CreateObject("InternetExplorer.Application")

IE.navigate "http://example.com"
IE.Visible = True

While IE.Busy
   WScript.Sleep 50
Wend

IE.document.innerHTML ' to właśnie kluczowa własność

Wscript.Quit(0)
SHiP
Skrypt mi się nie podoba ponieważ nie działa(byle wtyczka potrafi go ominąć). Jeśli już ktoś chciałby się w takie rzeczy bawić to imho trzebaby pójść w stronę ramek, plików htc i innych udziwnień. Można też zastosować własną semantykę np. zamiast pisać
  1. <a href="adres">tytuł</a>


Można
  1. <sa c="adres">tytuł</sa>
podpiąć jQuery aby emulowało kliknięcię i gitara. Analogicznie zamiast obrazków śmieci typu
  1. <rL:w x="adres.jpg" />

I teraz aby utrudnić pracę "podglądaczom" każdy obrazek dzielić na małe kwadraciki np. 10x10 i umieszczać w oddzielnych obiektach canvas. Wszystko da się w locie w js zrobić. Nawet jeśli ktoś sprawdzi źródło to 30 canvasów dużo mu nie da(o ile ukryjemy link do oryginalnego pliku). Jeżeli dodamy w css
  1. sa{display:block}

to przeglądarki wyświetlą to jak zwykły znacznik html chociaż formalnie taki nie istnieje. Ponadto można pozamieniać trochę kodu css dla IE na filtry.

Co więcej każdą literkę możesz zamienić na znak wyglądający identycznie. Wyszukiwanie fraz w przeglądarkach przestanie działać(chyba winksmiley.jpg )


I tak dalej, i tak dalej.... Ogólnie nie postarałeś się.
zelu
Ok, można... Ale nadal pozostaje pytanie po co? smile.gif

Jak mamy tak kombinować, to więcej czasu zejdzie na zaciemnianie, niż na faktyczne kodowanie strony. Według mnie gra nie warta świeczki


Pozdro
vokiel
Cytat(zelu @ 17.08.2010, 22:14:45 ) *
Jak mamy tak kombinować, to więcej czasu zejdzie na zaciemnianie, niż na faktyczne kodowanie strony. Według mnie gra nie warta świeczki


Właśnie, jeśli jedynym zastosowaniem tego ma być ukrycie kodu przed zleceniobiorcą. To moim zdaniem lepiej to zrobić w formie filmiku - po prostu nagrać działającą aplikację, wstawić nawet na vimeo czy youtube. Wtedy na pewno nikt kodu nie ukradnie, klient zobaczy jak wygląda aplikacja, jak działa, co się dzieje jeśli się kliknie tu i tam.
kilas88
Cytat(karis @ 17.08.2010, 10:24:27 ) *
kto w dzisiejszych czasach ma wyłaczony Javascript?

ja jadę na Lynx'ie biggrin.gif
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.