Hej ! 3. Du kan inte skydda PHP-kod mot förändringar. Det finns visserligen obfuscators, men dessa gör bara koden svårare att läsa och därmed att ändra. Det är fortfarande möjligt att göra ändringar. Eller om vi pratar väldigt generellt: all kod/program/whatever du levererar till en kund och som i något som helst läge körs eller visas på klientens dator _går_ att modifiera eller plocka fram, det är bara en fråga om hur svårt det är. Sourceguardian kan kanske förtjäna att nämnas. Beroende på hur mycket du betalar så kan du ställa villkor för domän där koden får köras, hur länge kundens licens räcker osv. Det bökiga är att den kräver en "plugin" till webservern för att köra den blurrade koden.Licensnyckel eller annan form av rättighets kontroll!
Jag håller på att bygga ett system i php med mySQL, nu är det så att jag har några frågor, om säkerhet en!
1. Jag skulle vilja lägga in någon form av kontroll system, så att dom inte ska kunna använda systemet utan rätt nyckel antingen att dom lägger in det i systemet eller att deras system kontaktar min server för att se om nycken är rätt..
2. Om man kan lägga in någon form av licenssystem kan man då ange att den går ut om låt säga om ett år ?
3. Finns det något enkelt sätt att skydda sin kod mot förändringar, vill inte att någon ska sno det och använda min kod mot en annan design !Sv: Licensnyckel eller annan form av rättighets kontroll!
1, 2. Dessa faller pga svaret på fråga 3.Sv:Licensnyckel eller annan form av rättighets kontroll!
php har problemet att det inte kompileras och koden är därför betydligt lättare att ta fram än i säg, .net eller java. Som Per säger är det inte mycket annat än att flytta runt kodrader och byta ut variabelnamn etc. man kan göra. (vilket, grovt sett, är det obfuscators gör)
.net och java kompileras till mellanspråk och är därför halvsvåra att ta fram, medan högnivåspråk som kompileras till binärkod (C++ etc.) är mycket svårare att disassemblera.
Det finns php-kompilatorer: http://www.phpcompiler.org/, det går ju alltid att testa.
Men kontentan är att:
1. Om det är jäääävligt viktigt att kunden inte kommer åt koden så får du sätta upp en server du har kontroll över och på något sätt skicka informationen till kundens server vid behov (a.k.a. web service etc.)
2. Annars kan du göra mer eller mindre allvarliga försök att kontrollera det.
En enkel lösning är att bara köra straight-forward och visa koden, och ha ett avtal där det står att kunden inte får lov att sno eller ändra koden.
En enklare kontroll + obfuscation bör annars räcka väldigt långt.Sv: Licensnyckel eller annan form av rättighets kontroll!