ugrás a tartalomhoz

Kérdés: PHP kód "megvédése" hogyan?

Zsolesz74 · 2012. Jún. 20. (Sze), 14.07
Sziasztok!

Egy olyan problémában kérném segítségeteket, hogy mi a teendő akkor, ha ha ügyfelem csak akkor hajlandó fizetni, ha a szerverére töltöm fel a kódokat, de sajnos félő, hogy egyszerűen lemásolja, s elfelejt fizetni. Sajnos a program nagy részét már feltöltöttem a szerverére, eddig ott tesztelték, de a programozója elszólta magát, hogy nagyon átlátható a kód, könnyű benne módosítani. Ezek után a többit a sajátomra töltöttem fel, ahol fut is jól, tesztelte is, de nem hajlandó fizetni, csak akkor, ha azt az Övére is feltöltöm. Olyan ötletet kérnék, ami vagy egy idő után "megsemmisíti" a kódokat, avagy úgy van becsomagolva, hogy az visszafejthetetlen. (md5 hash stb-t ismerem, nekem sem sok idő visszafordítani).
A jótanácsokat nem kérem, hogy szerződés meg ilyesmi, nincs pénzem ügyvédre, hogy pereskedjek.
Hasznos, gyakorlati tanácsot várnék.

Üdv:
Zsolesz
 
1

zend guard

pp · 2012. Jún. 20. (Sze), 14.12
http://www.zend.com/en/products/guard/
2

Köszi

Zsolesz74 · 2012. Jún. 20. (Sze), 14.41
Jó lehetne, de sajnos a ZendGuardLoader.so-t a szolgáltató nem hagyja felrakni.
Mégegyszer köszi.
3

szerintem

Peete · 2012. Jún. 20. (Sze), 14.46
ha a megrendelőnek nincs szándékában ellopni, akkor nem sértődik meg egy olyan megoldáson, hogy a végső verziót az ő jelenlétében töltöd fel, a fizetéssel egybekötve..
Nekem ez bevált, működött: felkerestem az irodájában, bevittem a laptopom, a szemem előtt átutalta a pénzt, miközben én másoltam fel a jóváhagyott, végleges fájlokat.
4

Km

Zsolesz74 · 2012. Jún. 20. (Sze), 14.50
Csak az a párezer km ne lenne...
5

könnyű benne

deejayy · 2012. Jún. 20. (Sze), 14.58
könnyű benne módosítani


Szerintem ezzel arra célzott, hogy a szoftver további fejlesztéséhez nem a te segítségedet fogja igénybe venni (mert valószínűleg nem ingyen tennéd, mint a rendszergazdája). Ettől még nem rosszindulatú, csak spórolni próbál. Ezt megoldhatod egy szerződéssel (nem esnék kétségbe, ha nekem ilyet kellene összeollóznom a webről - de alapvetően inkább ki szoktam alakítani a nekem megfelelő szintű bizalmat az ügyfelekkel).

Persze lehet, hogy csak én vagyok naiv.
9

mert valószínűleg nem ingyen

Poetro · 2012. Jún. 20. (Sze), 16.04
mert valószínűleg nem ingyen tennéd, mint a rendszergazdája

Miért, kinek a rendszergazdája teszi ingyen? Megadod a számát? :)
10

Álláshirdetés

eddig bírtam szó nélkül · 2012. Jún. 20. (Sze), 16.09
Ismerős az a fajta álláshirdetés, hogy "Rendszergazdát keresünk, aki ért a java, PHP, django programozáshoz, jogi doktorátusa van és képes processzort tervezni"? ;-)
12

szerződés

Zsolesz74 · 2012. Jún. 20. (Sze), 16.49
3 évre szerződtem, hogy fejlesztem a rendszert. Én. Nem más piszkálgatja.

"3 évig karbantartja a rendszert mindkét fél álltal elfogadott ,kölcsönösen kialkudott
havidíjért."
13

Akkor hol a gond? Neked

eddig bírtam szó nélkül · 2012. Jún. 20. (Sze), 17.59
Akkor hol a gond?
Neked megvan az eredeti kód, ha nem veled csináltatja a karbantartást, fizetnie akkor is kell. Vagy nem behajtható, ha egyszer csak elkezd nemfizetni?
15

Fizetett?

Pepita · 2012. Jún. 21. (Cs), 00.21
Ennek a szerződésnek az értelmében - gondolom - már volt egy-két fizetési esedékesség. Eddig pontosan fizetett? (Látom, van amit nem akar kifizetni, költői kérdés volt.)

Van egy pont, amin túl nem tudsz mit csinálni, csak perelni. Nem árt (persze ez nem mindig megoldható), ha a szerződésnek külön (összegben nagyobb) része a fejlesztés és a karbantartás csak kisebb, későbbi esedékességű. Ez munka/összeg arányban is jobban tükrözi a valóságot, és kisebbet tudsz bukni, ha nem tartják be.
Az obfuszkálás szerintem is jó lehet, de a Janoszen-féle idő vagy egyéb korláttal együtt.

Arról van valami a szerződésben, hogy ha nem fizet, működésképtelenné teheted a munkát?
És arról "van írás", hogy csak akkor fizet, ha nála van?

Azt hiszem, itt kinéz(het) egy szerződésmódosítás, akkor kell nagyon-nagyon odafigyelni. Esetleg érdemes ilyenkor kérni ügyvédi véleményt, az a 15-30 e HUF mégiscsak kevesebb, mint ha semennyit sem fizet az ügyfél, mert ő volt az "ügyesebb".
6

Google: php obfuscator

bonga · 2012. Jún. 20. (Sze), 15.00
Itt a weblaboron is volt róla cikk: http://weblabor.hu/cikkek/phpobfuszkator
7

szervíz, rpc

zzrek · 2012. Jún. 20. (Sze), 15.01
Csak egy ötlet: mi lenne ha az alkalmazásod egy részét a szervereden hagynád és mint szolgáltatást hívnád meg az ügyfél szerveréről? Vagy mondjuk néhány ritkábban használt, de lényeges funkcióját távoli eljáráshívással meg lehetne variálni.

Obfuszkálás?

A legjobb, ha eladod neki a forráskódfelhasználás jogát is, és ezért fizessen előre: ha látta a működő verziót, miért ne tenné meg?
8

Feltoltod

janoszen · 2012. Jún. 20. (Sze), 15.24
Azt megteheted, hogy beepitesz egy idokorlatot es kompresszalod a kodot (tehat kiveszed belole az osszes szokozt, kommentet). Igy kb. lehetetlenseg megtalalni az idozarat okozo kodot.
11

obfuszkálás

Zsolesz74 · 2012. Jún. 20. (Sze), 16.46
Ez jónak tűnik!
Kipróbálom.
14

Keress olyan munkaadót,

tgr · 2012. Jún. 20. (Sze), 21.15
Keress olyan munkaadót, akiben megbízol. De tényleg. Az obfuszkálással töltött időért senki nem fog fizetni, normális munkakapcsolat esetén ugyanazt az időt hasznosan tölthetnéd. Arról nem beszélve, hogy mi van, ha mondjuk debuggolni kell a kódot.
16

ionCube encoder

tisch.david · 2012. Jún. 21. (Cs), 11.16
Szia!

Mi az ionCube obfuscatort használtuk erre a célra. Fizetős, de nekünk bevált. A használata gyors és egyszerű.

Üdvözlettel:

Dávid
17

de nem hajlandó fizetni, csak

_subi_ · 2012. Jún. 21. (Cs), 12.35
de nem hajlandó fizetni, csak akkor, ha azt az Övére is feltöltöm


És ez az apróság mikor derült ki? Mi van a szerződésben?

Persze gondolom nincsen szerződés... Ebben az esetben válassz egy szimpatikus lehetőséget:

1. Utólag mégiscsak írtok szerződést. Ez a legtisztább.

2. Csak akkor töltöd a tárhelyére a kódot, ha a pénz már megérkezett. Szinte kizárt, hogy már nem kell neki a fejlesztés, és lemond róla. Ha meg így tesz, akkor a szomorú valóság, hogy soha nem is akart fizetni!

3. Valamilyen módon obfuszkálod (szép magyar szóval) a kódot, amivel azért Te is szívhatsz később, ha pl. csak egyetlen konfigurációs állományt kellene módosítani. Mellesleg ha van valami programozója, az ugyebár nyilván észreveszi, hogy obfuszkálva van a kód. Szerintem aki csak akkor fizet, ha a saját tárhelyén van a kód, az csak akkor fog fizetni, ha nem lesz obfuszkálva. :)

Egy biztos, ilyen ügyfélnek ne szolgáltasd ki magad, mert közel 100%, hogy megszívod!
18

szerintem

joed · 2012. Jún. 22. (P), 00.40
Ha külföldi az ügyfél, akkor a tapétázhatsz a szerződéssel, mert nemzetközi szinten a követelés érvényesítés, khm, mondjuk úgy macerás.
Ha magyar, érdemes kikényszeríteni egy szerződést, mert itthon egész sok és hatékony eszköz áll a rendelkezésedre a követeléseid érvényesítésére, ügyvéd sem kell hozzá (FMH, átutalási végzés stb.)

Ha maradsz a technikai megoldásnál, akkor szerintem a sorrend:
1. Zend Guard, ioncube vagy hasonló obfuszkáló és kódoló megoldás
2. sima obfuszkálás
3. killswitch: azaz egy olyan jól elrejtett titkos kapcsoló/backdoor, ami hívásra vagy adott időpontban bizonyos műveletet hajt végre. Hogy mit, az a fantáziádra van bízva.

A harmadik verziót etikai és jogi okokból erősen zárójelesen említem. Szerintem a Zend Guard a legjobb megoldás, amivel akár időfüggő licencelést is meg tudsz oldani.