Undgå videresalg og tyveri af kode?

Tags:    php betaling

<< < 12 > >>
Hej udviklere,

jeg har lidt et problem. Jeg har har for noget tid siden solgt et system til en kunde, der nu mener at han har ret til at sælge dette system til højre og venstre - hvilket jeg naturligvis på ingen måde mener han har ret til, da han tjener en masse penge på mit arbejde som jeg ellers kunne have tjent.

Nu står han så og skal have lavet en ændring i systemet eller en tilføjelse. I den forbindelse får jeg altså adgang til at redigere i koden igen, og jeg vil derfor gerne sætte en eller anden form for blokering ind, der gør at han i fremtiden ikke kan videresælge koden.

Jeg er dog lidt i tvivl om hvordan jeg skal gøre dette. Jeg har siddet og tænkt på at lave noget med at der bliver foretaget en forspørgsel til min side hvor en hash beståene af siden URL og et eller andet andet bliver sendt afsted til min side. Her bliver denne hash tjekket og hvis denne er iorden, bliver der sendt en "godkendt" besked tilbage hvorefter siden kan køre som normalt.

Ved ikke om der er en smartere måde at lave dette på eller eventuelt nogle ændringer til ovenstående?

Har andre eventuelt haft problemer med tyveri af kode, og hvad har I gjort i sådanne tilfælde?

På forhånd mange tak.



16 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 21 karma
Sorter efter stemmer Sorter efter dato
Jeg synes du skal læse det Brian skriver og forsøge at gå den vej, i stedet for at investere i software der måske, måske ikke, kan beskytte din kode fremover :)

Mvh.

Kasper (TSW)



Jeg takker mange gange for de mange gode indlæg - jeg vil tage ind og snakke med dem ved retshjælpen i odense og se hvad de siger til det.
Kan se der findes nogle open source php-encoders på nettet også, og dette vil jeg da lige have i baghovedet i fremtiden - håber dog at denne kunde var one-of-a-kind, og at det ikke bliver et problem i fremtiden :-)



Tag og få lavet nogle KLARE kontrakter når du sælger. Der skal stå at de køber brugsretten til din kode og at du bibeholder ophavsretten til koden. Det vi normalt gør hvis kunden ønsker at eje koden selv er at smide 30% af prisen oveni for at sælge dem koden. Det betyder så også at hvis de kommer efterfølgende med ændringer eller fejl, så er det ikke vores kode og vi skal have timepris for at rette i det.

Jeg er sikker på at du kan finde disse kontrakter på nettet, kig evt. på amino.dk



Indlæg senest redigeret d. 19.05.2011 07:54 af Bruger #2730
Jeg synes den bedste måde at beskytte sig på, er ved at hoste så meget som muligt af funktionaliteten på egne servere. På den måde kan kunden eller en anden som kunden har givet adgang ikke pille ved koden. Hvis man hoster selv, vil det i mange tilfælde også føles som en mere samlet og fuldendt løsning for kunden.



Du skriver at det er mange penge. Så ville jeg overveje at gå efter et proff. program til at lukke af.

Et eksempel kan være ionCube http://www.ioncube.com/


Hvordan fungerer det?


Ved at encode din php-kode og så decode det igen på runtime-niveau.


Vil det ikke kræve at denne software er installeret på serveren hvorpå siden kører, eller sker det automatisk?


Nu ved jeg ikke hvor teknisk dygtige dine kunder er men du kan altid prøve den klassiske "base64 encode / decode" ved brug af eval... (Ja ffs hak mig ned folkens, men hvis han vil have en lille bitte smule beskyttelse, så er det bedre end ingenting)


Men faktisk har jeg haft udviklet et værktøj der obfuskerer PHP variabler, strings, funktioner, konstanter, class names og endda supportere at "fucke rundt med variablerne" sådan at variabler pludselig hedder $$ i stedet for bare $ (ved at referere "igennem" hinanden) og den kan også lave en masse forskellige base64, substr, strrev og rot13 tricks sammen med eval... Den kan også have "konfigurations defines" i toppen, så udelader den bare at obfuskere dem senere hen i koden.

Hell yeah den kan endda smide AES256 på men det har så aldrig haft anden pointe end fordi folk ville have det, selvom at nøglerne jo er nød til at ligge i koden.

Jeg ved så ikke hvor godt programmet performer på større websites, og der er selvfølgelig altid en "lag" i execution time ved at have siden obfuskeret. Og så ved jeg faktisk heller ikke om det relativt simple program kan æde sig igennem større websites. Jeg skrev det mest til brug for mig selv, og som ekstra sikkerhed på lidt "intime" scripts på mine servere selvom de er godt låst ned. (Ja jeg ved at alt obfuskering kan fjernes, men igen, et ekstra lag sikkerhed skader aldrig).






Måde jeg ville det gøre at producere et HMAC af den dato han forespørger om adgang, samt nogen identificering over at det er ham.

Et HMAC lavest sikkert således H(k1+m+k2), hvor H er en hashfunktion, k1 er en nøgle, m er det du vil teste, og k2 er en anden nøgle hvor k1 != k2.

Bare for at være kværulant...
Din metode er bedre end H(k + msg) men har stadig problemer. Den 'korrekte' måde er H(k1 + H(k2 + msg)), hvor k1 og k2 gerne må være identiske.





<< < 12 > >>
t