Baru-baru ini saya memiliki pengalaman negatif, di mana klien ditebus dari tagihan, tetapi perantara saya sudah mengunggah perangkat lunak dan desain kami ke server klien. Klien ternyata adalah penjahat yang dikenal, dan tentu saja ia mengubah semua kemungkinan kata sandi server.
Namun, saya masih dapat mengakses panel admin CMS. Sayangnya ternyata, bahwa perangkat lunak saya sangat aman .. Mencoba untuk injeksi SQL, mengunggah gambar-upload dll masalahnya .. Saya hanya berpikir sekarang, bahwa mungkin harus ada beberapa metode backend selfdestruct. Jadi, jika terjadi kasus serupa, saya memiliki opsi untuk mematikan perangkat lunak.
Ide saya sendiri adalah menyembunyikan beberapa fungsi di file inti. Encode dengan base64, jadi tidak akan terlihat jelas. Jadi sesuatu seperti ini:
eval(base64_decode('ZWNobyAnSGVsbG8gd29ybGQhJzs=')); // echo 'Hello world!';
Dan pada dasarnya membuat skrip kecil, yang mengambil semua file perangkat lunak, chmod memastikannya dan kemudian menghapusnya.
Versi CMS saya yang lebih baru, semuanya memiliki filemanager yang bisa saya gunakan untuk peretasan yang lebih mudah . Tetapi bagaimana jika akses ke panel admin terbatas.
Untuk menjadi sangat jelas , ini dimaksudkan hanya untuk perangkat lunak tahap pengembangan, di server pribadi saya atau server klien (bagian terakhir yang dipertanyakan secara etis.) Jadi jika klien saya harus mencuri perangkat lunak saya .. Ini tidak akan dimasukkan dalam iklan -perangkat lunak.
Dan untuk lebih jelasnya , kita berbicara tentang pekerjaan lepas yang langka itu . Saya pikir ini cukup logis, bahwa pekerjaan kontrak tidak memerlukan metode seperti itu. Jadi kita berbicara tentang klien-klien yang sulit, hanya dalam mode pengembangan - ketika proyek siap, maka jelas ini akan menjadi pintu belakang yang sangat tidak etis untuk ada di dalam perangkat lunak Anda.
- Secara etis apakah ini ide yang bagus? (Perlu diingat, itu jelas saya akan menghapusnya, ketika proyek telah 100% dan semuanya sudah dibayar)
- Pernahkah Anda meretas perangkat lunak Anda sendiri, karena masalah serupa dengan klien?
- Adakah saran untuk ide, kode, dan metode ini?
- Apa yang mungkin menjadi kelemahan atau akibat dari script self -estruct?
Kesimpulan saya tentang ini
Agak menyedihkan, bahwa semua jawaban ditargetkan pada kasus yang dikontrak. Benar-benar salah saya, bahwa saya tidak membuatnya lebih jelas dalam pertanyaan saya .. hanya berpikir, bahwa itu cukup jelas, bahwa tidak ada gunanya mematikan saklar .. ketika Anda dilindungi oleh kontrak.
Namun, jika Anda melakukan pekerjaan kontrak .. maka ini harus dinyatakan dalam kontrak - ini membuatnya legal, bahkan di dalam server klien sendiri. Namun, memiliki switch-kill di dalam server pribadi saya benar-benar bisnis yang bukan siapa-siapa (ini yang ingin saya ketahui.)
Saya memutuskan untuk membuat skrip kill-switch untuk CMS saya. Terutama, karena sepertinya tantangan yang menarik. Tetapi juga, bahwa saya dapat menggunakan ini untuk pekerjaan non-kontrak saya di mana klien adalah teman dari teman seorang teman .. Saya mungkin tidak akan menggunakan ini di server klien, tapi .. untuk kasus-kasus, di mana klien atau beberapa perantara memiliki akses ke server saya .. Dan perangkat lunak saya dicuri, atau "dipindahkan tanpa sepengetahuan saya", maka saya tidak dibayar dan mereka memotong akses ke perangkat lunak.
Saya telah membaca banyak topik di sini, di mana mereka merekomendasikan untuk mengirim peringatan dan kemudian mencatat halaman. Yah, saya melihat masalah di dalamnya, seperti ketika saya berurusan dengan seseorang .. yang hanya akan menyalinnya ke tempat lain (mungkin merek-ulang dan menjualnya) dan memberi tahu saya, bahwa itu telah dihapus. Dan juga, saya tidak akan "mematikan situs", tetapi menghapusnya. Padahal, saya kira masih ilegal untuk mengakses server klien saya dan menghapusnya. Atau setidaknya, akses melalui backend dan bukan dari FTP. Untuk ini, saya berterima kasih kepada Anda semua, yang menjawab.