Fråga
Jag har letat som en tok på internet, efter något program eller någon information om hur man kan skydda sin php/ html/asp kod, så att den inte går att läsa utan en viss decoder eller på något annat sätt kryptera koden.
Jag har byggt ett system som jag vill skydda så att ingen kan sno koden eller gå in och ändra, det ska bara vara jag som har koden i klartext!
Svar
Hej Mattias, tekniken du talar om kallas obfuskering, och används oftast när man skickar källkod till kunder som inte har tillåtelse att ändra programmet av någon anledning.
När det kommer till ASP- och PHP-kod så behandlas den på din server innan websidan generas, med andra ord kommer inte klienten och användaren få tillgång till denna källkod eller för den delen en kompilerad version av applikationen.
Dock skulle man kunna felkonfigurerar din server så att applikationen läcker ut pågrund av det, ett annat fall är om du skickar koden till kund för att de skall köra det på deras server. På nätet finns det tillgång till obfuskeringsverktyg som körs direkt i webläsaren till exempel http://www.raizlabs.com/Software/phpobfuscator/ för PHP-kod.
När det kommer till html-sidan måste man alltid skicka iväg källkod för att den skall genereras rätt. En obfuskator för HTML-kod finns bland annat på denna sida, http://www.voormedia.com/en/tools/html-obfuscate-scrambler.php. Ett annat sätt är att modifiera källkoden själv för att göra den svårare att tolka. Dock har det en hel del nackdelar
- Koden går fortfarande att kopiera och använda rakt av.
- Källkoden har blivit svårare att ändra, men är fortfarande ändringsbar.
- Man måste underhålla dubbla kopior av sin källkod om man inte vill försvåra för sig själv genom att underhålla enbart den svårlästa versionen.
- Om man har otur sitter man och finner fulhack för att göra koden svårläst, men samtidigt riskerar man att dessa fulhack bryter mot html-standarden. (Man vill trots allt att sidan skall se likadant ut oavsett webläsare.)
Slutsatsen är att källkoden blir dyrare att utveckla samtidigt som den fortfarande går att kopiera. Viktigaste är iaf att se till att html-koden fortfarande fungerar som den skall på klientens sida så inte användaren blir lidande. Därför bör du alltid besöka w3c’s hemsida och använda deras html validator för att se till att websidan är korrekt även efter obfuskering.
Lycka till
PS. Om du använder java-script på websidan till exempel för logik mm, tänk då på att denna kod körs på klienten tillskillnad från ASP- och PHP-kod. Därför kommer klienten alltid att få java script koden. En obfuskator för java script finner du på denna URL, http://www.javascriptobfuscator.com/ samt på denna URL, http://javascript-source.com/