Avatar billede hwlarsen Nybegynder
19. august 2005 - 21:20 Der er 27 kommentarer og
1 løsning

Beskyttelse af sourcekode på offentlig server

Hej eksperter

Jeg har udviklet et webbaseret ordresystem til en kunde, problemet er blot at webserver, PHP og kode skal være installeret på kundens maskine for at opretholde stabilitet og hastighed.

Hvordan sikre jeg mig mod at de bare kan redigere i koden, videresælge den eller lign.

Kan man kryptere koden således at webserveren/phpserveren kan dekryptere koden men så den ikke kan læses i notepad?

Håber i er nogle der har erfaring med dette eller bare gode råd til hvordan det kan gøres.
Avatar billede nielle Nybegynder
19. august 2005 - 21:23 #1
Du kan ikke forhindre det, men du kan gøre det meget vanskeligt ved at obfuscate din kode. Prøv at Google på "PHP obfuscate".
Avatar billede erikjacobsen Ekspert
19. august 2005 - 21:25 #2
Avatar billede olebole Juniormester
19. august 2005 - 21:25 #3
<ole>

Jo, det kan du godt. Zend har værktøj til det - men det koster vist et par titusindekrone sedler  :)

/mvh
</bole>
Avatar billede hwlarsen Nybegynder
19. august 2005 - 21:25 #4
Det må jeg lige prøve
Avatar billede olebole Juniormester
19. august 2005 - 21:27 #5
Hmmm ... den er måske faldet i pris - eller også mener de bare, hvad de skriver: 'Starting at ...'  :)
Avatar billede erikjacobsen Ekspert
19. august 2005 - 21:29 #6
Der findes også andre - prøv at søge efter nogle af de samme ord, som står på den side jeg linkede til før.
Avatar billede nielle Nybegynder
19. august 2005 - 21:31 #7
Med Google får man lige lidt over 99.000 hits, så mon ikke der skulle være noget at vælge imellem?

http://www.google.dk/search?hl=da&q=PHP+obfuscate&btnG=Google-s%C3%B8gning&meta=
Avatar billede hwlarsen Nybegynder
19. august 2005 - 21:33 #8
erikjacobsen, det lyder og ser smart ud. Kan man ikke komme ud for at man har brugt nogle php_mods der ikke kan oversættes til Intermediate Code?

Ved du om der findes noget tilsvarende som freeware?
Avatar billede erikjacobsen Ekspert
19. august 2005 - 21:35 #9
Man skal jo nok have installeret de samme extensions/libs. Men zend skulle jo gerne vide hvad de gør. Der sku' vist være noget freeware - det er så spørgsmålet om de ved hvad de gør, om besparelsen i pris kan opveje evt. bøvl. Jeg har ingen personlig erfaring med disse ting.
Avatar billede hwlarsen Nybegynder
19. august 2005 - 21:36 #10
nielle -> Har jeg forstået det rigtigt at obfuscate betyder noget med at php koden forkortes med variabelnavne, mellemrum og sådan så den ikke er let at læse bagefter men egentlig stadig er den samme?
Avatar billede nielle Nybegynder
19. august 2005 - 21:38 #11
Korrekt forstået.

Hvis det skal være freeware få falder de 99.000 hits til 34.700:

http://www.google.dk/search?hl=da&q=PHP+obfuscate+freeware&btnG=S%C3%B8g&meta=
Avatar billede erikjacobsen Ekspert
19. august 2005 - 21:39 #12
zends program er ikke bare "...forkortes med variabelnavne, mellemrum"
Avatar billede hwlarsen Nybegynder
19. august 2005 - 21:42 #13
Så er jeg nok mere til Zend, da det andet jo egentlig kun gør det lidt mere besværligt som du også selv skriver. Men mon ikke der også findes programmer der kan køre det mere eller mindre den anden vej, så koden bliver "pæn" igen.

Nærlæser lige lidt om Zend, det lyder supter smart. Giver det mon også en øget performence når koden er preoversat ?
Avatar billede erikjacobsen Ekspert
19. august 2005 - 21:43 #14
Og jeg mener at der findes freeware, der gør ca. det samme som zend, og kræver en "dims" installeret for at fortolke det.
Avatar billede nielle Nybegynder
19. august 2005 - 21:43 #15
http://turck-mmcache.sourceforge.net/index_old.html

"Since version 2.3.10, Turck MMCache contains a PHP encoder and loader. You can encode PHP scripts using encoder.php in order to distribute them without sources. Encoded files can be run on any site which runs PHP with Turck MMCache 2.3.10 or above."
Avatar billede nielle Nybegynder
19. august 2005 - 21:44 #16
... og "Turck MMCache is a free open source PHP accelerator, optimizer, encoder and dynamic content cache for PHP"
Avatar billede olebole Juniormester
19. august 2005 - 21:47 #17
Nej, du kan normalt ikke reversere en obfuskeret kode med software - så skal den da være rigtig dårlig obfuskeret  :)
En begavet koder kan retablere koden - men at gøre det med software, kræver vist kunstig intelligens ... det må du tale med kulturministeren om  ;D
Avatar billede erikjacobsen Ekspert
19. august 2005 - 21:53 #18
Man kan heller ikke reversere en obfuskeret Ole - der er slaget også tabt...

Når vi nu er nået så langt, så er der jo så tilbage om virksomheden vil købe et
produkt, de ikke har nogen mulighed for at arbejde videre på. De skal stole på at
du fortsat vil stå til rådighed, og at du har styr på backup, etc. etc.  Jeg ville
ikke anbefale en virksomhed at regne med det, hvis det pågældende software har en
kritisk betydning for driften.

Minimum er at du får skrevet i kontrakten hvad du gør. Man kunne opbevare kildeteksten hos en advokat, eller sådan noget,
Avatar billede hwlarsen Nybegynder
19. august 2005 - 21:56 #19
olebole -> ja okay, variabelnavne kan selvfølgelig ikke genskabes men selve strukturen der gør den læselig kan vel nemt fikses med et lidt software.

nielle -> Turck... lyder smart tror det kræver en lidt nærmere nærlæsning. Er det noget du har prøvet eller blot en søgning på vores ven google?
Hvis du har prøvt det havde du så problemet med kompileringen? Min erfaring siger mig at det ofte kan drille en del!
Avatar billede nielle Nybegynder
19. august 2005 - 21:58 #20
Jeg må indrømme at jeg ikke har prøvet det. Udgangspunktet var godt nok Google, men den ledte mig til et site hvor man netop diskuterede alternativer til Zend, og der var der en som snakkede for sin sag.
Avatar billede olebole Juniormester
19. august 2005 - 22:01 #21
Erik >> Naturligvis bør køber altid være sikret, den software, han har købt, kan videreudvikles.

hwlarsen >> - og hvordan havde du tænkt dig, det skulle kunne fikses nemt? I øvrigt er jeg i tvivl, om du har forstået begrebet obfuskation  :)
Hvad mener du med, at man kan gøre strukturen læselig, hvis man ikke kan læse/forstå variabel- og funktionsnavne?
Hvordan ville du få noget somhelst læseligt ud af en kode, hvis alle navne er ikke-sigende et/to-bogstavs navne - og funktioner og variabler er blandet ind og ud mellem hindanden?  :)
Avatar billede olebole Juniormester
19. august 2005 - 22:02 #22
- det kan kun en dygtig koder ....... og endda kun måske  ;o)
Avatar billede hwlarsen Nybegynder
19. august 2005 - 22:10 #23
Ole >> Det er rigtigt, det er nok ikke så nemt som lige antaget.
Avatar billede hwlarsen Nybegynder
19. august 2005 - 22:20 #24
Nille >> smider du et svar, tror godt jeg kan få noget godt ud a de par links du har givet.
Avatar billede nielle Nybegynder
19. august 2005 - 22:24 #25
Svar :^)

... men sig mig lige. Har din kunde ikke - som en del af kontrakten - betinget sig at få kildekoden udleveret? Det er ellers et meget almindeligt krav.
Avatar billede hwlarsen Nybegynder
23. august 2005 - 16:49 #26
Jo kunden har sin del af koden, men en del af systemet ejer kunden ikke så det er kun denne del jeg gerne vil beskytte.
Avatar billede olebole Juniormester
23. august 2005 - 17:10 #27
Så vil jeg så sandelig da håbe, kunden er klog nok til at kræve en kopi af kildekoden lagt hos en advokat - eller finder en anden leverandør. Ellers er han jo totalt på Herrens mark  :)
Avatar billede hwlarsen Nybegynder
01. september 2005 - 20:39 #28
Kunden kan godt bruge sit system uden koden, det er kun en mindre del af systemet der kræver den beskyttede kode. Så det skulle ikke være nødvendigt med advokat eller lign.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester