Pertama sekali, saya tidak mencari keajaiban... Saya tahu cara PHP berfungsi dan tiada cara sebenar untuk menyembunyikan kod saya daripada pelanggan tanpa menggunakan penyulitan. Tetapi ini datang dengan kos memasang sambungan pada pelayan yang sedang berjalan.
Saya sedang mencari sesuatu yang berbeza... Saya tidak mahu menyulitkan kod saya atau mengelirukannya. Terdapat banyak skrip PHP yang tidak mempunyai kod yang disulitkan/dikaburkan, tetapi ia adalah aplikasi komersial. Contohnya, vBulletin dan/atau aplikasi forum IP.Board.
Saya hanya tertanya-tanya apakah kaedah yang mereka gunakan dalam aplikasi mereka...
Saya juga terbuka kepada sebarang cadangan lain.
Sila ambil perhatian bahawa saya bujang dan tidak bekerja untuk syarikat. Produk saya juga sangat spesifik dan saya tidak boleh menjual sebanyak itu. Saya hanya mahu anda tahu bahawa saya tidak mampu untuk berunding dengan profesional undang-undang untuk menyaman seseorang atau menyediakan lesen perniagaan. Saya hanya mencari cara mudah untuk melindungi produk mudah saya, jika memang boleh, entah bagaimana...
Anda perlu mempertimbangkan matlamat anda:
1) Adakah anda cuba menghalang orang daripada membaca/mengubah suai kod anda? Jika ya, anda memerlukan alat pengeliruan/penyulitan. Saya menggunakan Zend Guard dengan kejayaan yang baik.
2) Adakah anda cuba menghalang pengedaran semula kod tanpa kebenaran? Lesen EULA/eksklusif akan memberi anda kuasa undang-undang untuk menghalang perkara ini daripada berlaku, tetapi ia sebenarnya tidak akan menghalangnya. Skim kunci/pengaktifan akan membolehkan anda memantau penggunaan secara proaktif, tetapi boleh dialih keluar melainkan anda turut menyulitkan kod anda. Zend Guard juga mempunyai keupayaan untuk mengunci skrip tertentu kepada komputer klien tertentu dan/atau mencipta versi terhad masa bagi kod anda jika anda mahu melakukannya.
Saya tidak biasa dengan perkara seperti vBulletin, tetapi mereka sama ada memerlukan penyulitan/keliruan atau mempercayai pengguna mereka untuk melakukan perkara yang betul. Dalam kes kedua, mereka dilindungi oleh EULA yang melarang tingkah laku yang mereka anggap buruk, dan terdapat sistem undang-undang yang menyokong pelanggaran EULA.
Jika anda tidak bersedia/tidak dapat mengambil tindakan undang-undang untuk melindungi perisian anda, dan anda tidak mahu penyulitan/keliruan, pilihan anda ialah a) Lepaskannya melalui EULA supaya anda mempunyai pilihan undang-undang jika anda memerlukannya dan ingin dapatkan hasil terbaik, atau b) pertimbangkan sama ada lesen sumber terbuka lebih sesuai dan hanya membenarkan pengagihan semula.
Perkara yang mengelirukan hanya akan menyusahkan pelanggan anda yang sah dan mematuhi undang-undang, dan mereka yang akan merompak anda bukanlah pelanggan yang membayar sasaran anda. (Pemikiran tambahan tentang obfuscation dikeluarkan)
Satu lagi petua untuk melindungi perisian anda: Cipta model perniagaan dengan kod merupakan bahagian yang tidak lengkap daripada nilai produk anda. Contohnya, menjual lesen produk dan akses kepada data tertentu yang anda uruskan di tapak web, atau melesenkan produk melalui model langganan atau melalui sokongan pelanggan.
Mereka bentuk EULA ialah isu undang-undang, bukan isu pengekodan. Anda boleh mulakan dengan membaca beberapa teks EULA untuk produk dan tapak web yang anda gunakan. Anda mungkin dapati beberapa butiran menarik!
Mencipta lesen proprietari adalah sangat fleksibel dan mungkin di luar skop yang StackOverflow bertujuan untuk lakukan, kerana ia bukan hanya mengenai pengekodan.
Beberapa bahagian EULA yang terlintas di fikiran:
Anda harus berunding dengan profesional undang-undang untuk menyediakan EULA perniagaan.
EDIT: Jika projek tidak mewajarkan yuran peguam, sila semak sumber berikut: