Uygulamalarıma kendi kendini imha yöntemini dahil etmeli miyim?


39

Son zamanlarda, müşterinin faturadan kurtardığı olumsuz bir deneyimim oldu, ancak orta erkeğim zaten yazılımımızı ve tasarımımızı müşteriler sunucusuna yükledi. Müşterinin bilinen bir suçlu olduğu ortaya çıktı ve elbette sunucunun olası tüm şifrelerini değiştirdi.

Bununla birlikte, CMS'nin yönetici paneline hala erişebiliyorum. Ne yazık ki, benim yazılımımın çok güvenli olduğu ortaya çıktı. SQL-enjeksiyonu denedim, resim yükledim, vb. Denedim. Ancak kendi yazılımımı hackleyemiyorum .. Her neyse, bu kişiyi dava etmeye hazırlanıyorum Sorun .. Sadece şimdi düşünüyorum, belki bazı arka uç kendine yöntem yöntemi olması gerektiğini. Yani, benzer bir durum ortaya çıkarsa, yazılımı öldürme seçeneğim var .

Benim fikrim çekirdek dosyalarında bazı fonksiyonları gizlemektir. Base64 ile kodlayın, böylece açık olmaz. Yani böyle bir şey:

eval(base64_decode('ZWNobyAnSGVsbG8gd29ybGQhJzs=')); // echo 'Hello world!';

Ve temelde tüm yazılımın dosyalarını alan küçük bir komut dosyası hazırlayın, emin olmak için chmod's ve sonra onları siler.
CMS'nin daha yeni sürümlerinde, hepsinde daha kolay hackleme için kullanabileceğim dosya yöneticisi var . Peki ya yönetici paneline erişim sınırlıysa.

Çok açık olmak gerekirse , bu sadece geliştirme aşamasındaki yazılımlar için, kişisel sunucumda veya müşteri sunucumda (son kısım etik olarak sorgulanabilir). -yazılım.
Daha da açık olmak gerekirse, bu nadir serbest mesleklerden bahsediyoruz . Bence mantıklı, sözleşmeli iş böyle bir yönteme ihtiyaç duymuyor. Bu yüzden, yalnızca güvenlik modunda olan jumprisk-müşterilerinden bahsediyoruz - proje hazır olduğunda, açıkçası bu , yazılımınızın içinde olması çok çok etik olmayan bir arka kapı olurdu .

  1. Etik olarak bu iyi bir fikir mi? (Projenin% 100 olduğu ve her şeyin parasını ödediği zaman, bunu açıkça kaldıracağımı unutmayın)
  2. Müşterilerinizle benzer sorunlar nedeniyle kendi yazılımınızı hacklemek zorunda kaldınız mı?
  3. Bu fikir, kod ve yöntem hakkında herhangi bir öneriniz akıllıca?
  4. Kendi kendini imha senaryolarının olası dezavantajları veya yansımaları neler olabilir?

Bu konuda benim sonucum

Biraz üzgün, anlaşılan davalarda tüm cevapları hedef alıyordu. Gerçekten benim hatamdı, sorumu daha da açıklığa kavuşturmamıştım .. sadece düşündüm, açık bir şekilde anlaşılıyor, sözleşmeyle korunuyorsanız ... ... son anahtarında bir nokta yok.
Ancak, eğer bir sözleşme çalışması yapıyorsanız .. o zaman sözleşmede belirtilmelidir - bu, müşterinin kendi sunucusunda bile olsa yasal olmasını sağlar. Ancak, kendi kişisel sunucumda kill-switch'ler olması gerçekten işe yaramaz (gerçekten bilmek istediğim şey bu).

CMS için kill-switch betiği yapmaya karar verdim. Temel olarak, çünkü ilginç bir zorluk gibi görünüyor. Ama aynı zamanda, bunu müşterinin bir arkadaşımın arkadaşı olduğu sözleşmeli olmayan işlerimde kullanabileceğimi düşünüyorum. Muhtemelen bunu müşterinin sunucusunda kullanmayacağım, ama ... müşterilerin ya da bazılarının bulunduğu durumlarda aracıların sunucuma erişimi var .. Yazılımım çalındı ​​ya da "bilgim olmadan taşındı", sonra ödeme alamadım ve yazılımın erişimini kestiler.

Buraya bir sürü konu okudum, burada bir uyarı göndermelerini ve ardından sayfayı incelemelerini tavsiye ediyorlar. Şey, bir insanla uğraştığım zamanki gibi bir problem gördüm .. kim başka bir yere kopyalarsa (belki yeniden markalandırabilir ve satabilirsin) ve bana, aşağıya çekildiğini söyler. Ve ayrıca, "siteyi kapatmak" olmazdı ama silin. Yine de, müşterilerimin sunucusuna erişmek ve silmek için hala yasadışı olduğumu tahmin ediyorum. Ya da en azından FTP'den değil, arka uçtan erişin. Bunun için cevap veren herkese teşekkür ederim.


26
Çabalarınız müşterileriniz için özen göstererek daha iyi harcanır!
Steven A. Lowe

14
Kodunuzda yalnızca bilinen ancak kasıtlı bir güvenlik açığı bırakmak yalnızca profesyonelce değil aynı zamanda yasal tehlikeye açık bırakmanız gerekir.
Kevin D

2
arka kapılar ve bombalar muhtemelen ürün özelliklerinin bir parçası değildir; Ülkenizdeki / eyaletinizdeki sorumluluk ve sözleşme yasalarına bağlı olarak, bu sözleşmenin ihlali anlamına gelebilir
Steven A. Lowe

11
Bunu görüyorum ve hemen düşünüyorum, Belki Daha Sonra İhtiyacım Var .
Mason Wheeler

3
@ KalleH.Väravas Freeland çalışması! = Sözleşmesiz çalışma. "Serbest çalışan ve belirli bir işverene uzun vadede bağlı olmayan biri" anlamına gelir. Bir sözleşme olmadan işi hemen her zaman (istemci iş için ödemeden kapalı çalışır) bu soruyu soruyorsun kesin nedene, çok kötü bir fikir olarak görülüyor
thedaian

Yanıtlar:


38

Ben avukat değilim Müvekkilinize dava açma amaçları için zaten birine sahipsiniz gibi görünüyor; Sen onun sahibini tutarken, bu konuda onların tavsiyelerini almanı tavsiye ederim.

Bu sitede "kill switchleri" ve geliştiricinin tazminat almadığı yazılımı devre dışı bırakmanın başka yolları ile ilgili başka sorular da var. Sözleşmeyi bu olasılığı şart koşmadan, sadece "anahtar teslimi" bir yazılım (bunu geliştireceğiniz ve sonra müşteriye tam hakları aktaracağınız) içine yerleştirmenin genellikle kötü bir fikir olduğu düşünülmektedir.

Öncelikle, sözleşmeniz özellikle ödemeyi yapmak için yazılımı devre dışı bırakabileceğinizi veya müşterinin ödeme tam olarak alınana kadar yazılıma herhangi bir hakkı olmadığını belirtirse, o zaman herhangi bir "kill anahtarını" çeviremezsiniz. sözleşmeye aykırı olmak. Aksine, “mülkiyete kanunun onda onda biri” olduğu için hiçbir şey söylemediği için, mülkiyeti kendisine verilen bir kez onun yazılımı ve onu yok etmek, kendisi için inşa edeceğiniz yeni bir ofis binasını dinlemeye benzer. bunun için ödeme yapmayın.

İkinci nokta şu; Herhangi bir müşteriye verdiğiniz herhangi bir sözleşmenin, "Fikri mülkiyet sözleşmeleri sözleşmesinin yerine getirilmesi üzerine" etkisine ilişkin bir hüküm bulunmalıdır . Bu, kullanması gereken yazılımın bir kopyasını size vermiş olsanız bile, size tam olarak ödeme yapana kadar, kendisine ait olmadığı anlamına gelir. Bu WOULD size, ödemenin tamamı alınana kadar herhangi bir nedenle herhangi bir nedenle yazılımın herhangi bir kopyasını veya devre dışı bırakma hakkını verir, çünkü yine de size aittir ve istediğiniz gibi yapabilirsiniz. Şimdi, sözleşmeyi ihlal etti, ve sende istemedin, bu yüzden avukatının sunması çok daha kolay, ve bu arada müşterin de, aldıkları mallardan hiçbir şekilde faydalanamıyor.

Bir inşaat müteahhi- sine benzetme şu şekildedir: Yapım aşamasında olan bir bina yasadışı girişlere karşı güvence altına alınabildikten sonra, yüklenici yüklenici genellikle tüm anahtarların tüm kopyalarını, iş tamamlanıncaya ve imzalanana kadar tesiste saklar. ödeme tam olarak alındı. Anahtarlar teslim edildikten sonra bile, ödeme düşerse mülkün üzerine haciz atabilir ve aşırı derecede geri alınabilir. Aynısı burada da geçerlidir; Müşteriye yazılıma girmesi için bir anahtar verebilirsiniz, ancak "ana" anahtarı tutarsınız ve tam olarak ödeme yapana kadar idari erişim elde etmez. Eğer şimdi girebilir ve size ödeme yapmazsa, sadece "kilitleri değiştirebilir" ve onu yazılımdan çıkarabilirsiniz.

Bununla birlikte, müşterinize yazılımın "ana" anahtarını verdiniz ve o tüm kilitleri değiştirdi ve o yüzden şimdi SİZE giremezsiniz. Bu, çalışması gerektiği gibi değil. Yine de hasar talebinde bulunabilirsiniz, ancak bu arada sahte müşteriniz yazılımı kullanabilir, başka bir yere kopyalayabilir (bu, yüklenicinin başına gelemeyecek kadar büyük bir şeydir; binasını geri alırsa, sizin için endişelenmenize gerek kalmaz) başka bir lotta tamamen ücretsiz bir kopya yaptım) vb. Temel olarak tek çareniz ödemenin tamamını yapmaktır, çünkü yazılımın tüm kopyalarını geri aldığınızı garanti edemezsiniz. Başka kopyası olmadığını garanti etseniz bile, muhtemelen yazılımınızı geri almaktan memnun olmazsınız; Muhtemelen arkanı dönüp başkalarına satamayacağın özel iş.

Yazılımdaki haklarınız ne olursa olsun, verilerinin kendisine ait olduğunu anlayın. Dokunamazsın. Yaptığınız yazılıma erişimini durdurabilirsiniz, ancak onun verilerini yok ederseniz, bunun için ödeme yapmadığınız binayı yeniden inşa ettikten sonra mülklerini yakmak gibi bir şey. Bu verilere hiçbir şekilde hakkınız yoktur ve bu bilgileri bilgisayarında sağlam bir şekilde yerinde bırakmak zorunda kalırsınız veya verilere yazılımınız olmadan makul bir şekilde erişilemiyorsa, yazılımınızla yapılan karışıklıktan kaldırmanız ve vermeniz gerekir. onu kullanılabilir bir formatta (insan tarafından tüketilebilir bir veri tabanı veya basılı veya elektronik kopyalar gibi).


3
Etkileyici cevap! Teşekkür ederim. % 100 sizinle aynı fikirdeyim, ancak bu soru serbest çalışanların aklına gelmesi yöneltildi, ancak soruyu açıkça ifade edemediğim için üzgünüm. Bu tür yöntemleri hiçbir zaman sözleşmeli işlerle kullanmam, onun adil yanlışı ve aynı zamanda soru bunun nedeni olurdu. Bununla birlikte, araba isteyen bir adamla sözlü kontratınız olduğunda ... onun için ne zaman bahsettiğimi hakkında konuşuyorum. Sonra onu görmek istiyor, sen yaparken .. ve uzaklaşıyor. Öyleyse, geliştirme modunda .. ateşlemeyi kesecek bir öldürme düğmesi olması daha kolay olmaz mıydı?
Kalle H. Väravas 19:11

11
İşte bu nedenle, hiçbir zaman, kaynak ve sözleşmelerle çalışan, sizi istihdam etmeyen birisine ASLA geliştirme çalışmaları yapmazsınız. Hala "serbest" bir çalışmadır, çünkü kendinizi bağımsız bir müteahhit olarak temsil ediyorsunuzdur, ancak sözleşme hem sizin hem de müvekkilinizin olaylarını kapsamasına izin veriyor. İki tarafın da diğerine ne sağlayacağını (sadece ürün ve parayla değil, ofis alanı ve bilgisayarlar gibi kaynaklar ile) ve kararlaştırıldığı gibi olmadığında ne olacağını belirtiyor.
KeithS

Kabul ediyorum, dersimi aldım. Teoride doğru, fakat farklı değişkenlerin nadir görülen kombinasyonlarından biriydi. Ucuz isteyen bir arkadaşın arkadaşı (1000 €), özel tasarımlı kişisel CMS'im. Programcılar topluluğunun bu konuda nasıl hissettiğini daha net düşünüyorum. Cevabınız için teşekkür ederim, yine de sözleşmeli davalara odaklandı, ancak sözleşmesiz işler için hayal gücünü bıraktı.
Kalle H. Väravas 19:11

Harika cevap
Teekin

21

Konseptte haklısın. İnfazın tamamen yanlış.

Süresi dolmuş deneme lisansları vermeniz gerekir. Tam ödeme üzerine ona Final "sonsuza kadar" lisansı verin. Hepsi açık ve dürüst.


çok daha iyi bir fikir.
Adsız Tip

Nitekim, “neden sözleşme yapmadığınızı” veya “ unlink()kullanımı ILLEGAL” diye tartışmayan ilk cevap . Aslında fikrini gerçekten beğendim, CRON'da bir şeyler pişirebilirim.
Kalle H. Väravas 20:11

@Kalle: Kimse "kullanmak unlinkyasa dışı " demedi . İnsanların sahip genelinde ulaşmaya çalışıyorum ABD, en azından, "bilgisayar sistemlerinin izinsiz kullanımı" konulu çok geniş yasalara sahip olmasıdır; Yasanın mektubuna göre, çoğumuz için burada iş bilgisayarlarını kullanarak cevaplar göndermek suç. Size yapma hakkını veren bir sözleşmeniz olmadığı sürece, sahip olmadığınız bir bilgisayarda çalışan yazılımı uzaktan devre dışı bırakmak neredeyse kesinlikle bu kanuna aykırı olacaktır. Devre dışı bıraktığınız yazılımın çalınmış olup olmadığı, şarjın üzerinde çalıştığı sistemin yetkisiz kullanımı durumunda olması muhtemel değildir.
Dave Sherohman 20:11

@Dave. Amacını anlıyorum, ama düşünürseniz. Herhangi bir sözleşme yoksa, şartlar ve nelerin belirlenmemiş olması. Ardından, program olduğu gibi deliktir. Öyleyse, yazılım taşındığında / çalındığında / teslim edildiğinde kill-switch kodun içindeyse .. o zaman bu kill-switch'i (temel olarak unlik () işlevini kullanarak) yazılımın amacının bir parçası. Avukatımla konuştum Ve, yazılımı hacklemenin yasadışı olacağını belirtti (örneğin unlinking-script'i yüklemek için filemanager kullanıyordu.) Fakat kill-switch kodun içine dahil edilmişse, yazılımın bir parçası olarak, o zaman tamamen yasaldır.
Kalle H. Väravas 21:11

19

Hayır. Müşterileriniz öğrenirse linç alırsınız. Hiç güvenli değil. Birisi, bazıları nasıl tetikleneceğini nasıl öğrenecek ve aniden tüm müşterilerinizle iletişime geçme ve onlardan neden bir acil durum yaması yapmaları gerektiği ile ilgili bir göreviniz olacak.

Eğer hack yaparsanız, kendinizi ceza yargılamasına da açıyorsunuzdur. Hala sitenin sahibi olduğunun kanıtı olduğunu sanıyorum. Buna erişme hakkın var mı? İşinin maliyeti "astronomik" olabilir.

Kabul edilebilir alternatifler var. Siteye filigran koyun; böylece her sayfa bir mesaj görüntüler. Ödeme sırasında filigranı kaldırabilirsiniz.


Anlıyorum. Amacını anlıyorum. Kayıt için, kill-switch ticari olmayan bir yazılıma dahil edilecek ve çoğunlukla sadece kendi sunucumun içinde ya da en azından sadece geliştirme modunda olacaktı. Bazı müşteriler, geliştirmenin kendi sunucuları içinde yapılmasını talep ediyor ve bu beni çok savunmasız bir durumda bırakıyor. Şu anda tüm dosyalarım kredilendirildi, tasarımlar filigranlandı, ismim HER YERDE - Kendime güvende hissediyorum, davayı kazanacağımdan eminim. Sanırım kendi sunucumda kill-switch'ler olması hala iyi bir fikir olurdu, biri durumunda onları çaldı.
Kalle H. Väravas 19:11

17

Bu, potansiyel olarak sizi hapse attırabilecek olağanüstü kötü bir fikir gibi görünüyor.

  1. Bu etik değil. Müvekkilinizin kötü davranışı, onların sistemlerini kırmanızı sağlamaz.
  2. Yasadışı. Bu daha önce , suçlu taraflar için kötü sonuçlar doğurdu.
  3. Bu anlamsız. Başını belaya sokmayacak olan bu arka kapı ile ne yapardın? Müşteriye şantaj yapar mısın?
  4. Aptalca. Bunu yakalamadan yapabilseniz bile, potansiyel riskler olası kazançlardan daha ağır basar.

1
Üzgünüm, ama cevabın NEDEN kısmından yoksun. Neden kötü bir fikir ve hapse girebileceklerime dayanarak mı? Biraz daha açıklayabilir misiniz?
Kalle H. Väravas 19:11

3
Duyguyu kabul ettiğim sürece, @Kalle haklı. Lütfen bir sebep belirtin. -1
Steven Evers

3
Öldürme anahtarının yasal olmadığını mı söylüyorsun? Sözleşme belirtilen şartlar nedeniyle hizmetin askıya alınacağını şart koşarsa, yasadışı olmayabilir.
SinirliFormsDesigner ile

İş yaptığınız yerin yasal standartlarına bağlıdır, ancak genel olarak yasal sistemler meseleleri kendi elinize alma çabalarını ciddi şekilde cezalandırır. Gerçekten mahkeme sistemine girmeni istiyorlar. Bazı yargı sistemlerinde, izinsiz olarak bir bilgisayar sistemine erişmek, hapis cezasına çarptırılabilen bir suçtur. Bunun sizin yazılımınız olduğunu iddia edebilirsiniz, ancak mahkemeler karar vermeleri gerektiğini söyleyecektir, siz değil.
Charles E. Grant

Kill-switch yöntemi serbest çalışan bir aklına geldi. Üzgünüm, sorumu söylemeyi unuttum. Ben böyle bir yöntemi asla sözleşmeli işlerde kullanmam. Buradaki yasal konular (Estonya), telif hakkı yasalarına gelince bebek adımlarındadır. İsveç ve Finlandiya gibi benzer telif haklarına sahip değiliz. Şahsen daha önce hiç müşteri ile herhangi bir sorun yaşamadım .. bazıları ödemeleri geciktirir vb.
Kalle H. Väravas 19:11

12

Lütfen programcılara sormayın, bir avukata sorun. En azından, sözleşmenize, sorunuzun yapmayı düşündüğü şeyi yapma hakkınız olduğunu söyleyen bir madde eklemek isteyeceğinizi hayal ediyorum. (Bazı sözleşmelerin "onarılamaz zararı" maddesi, mahkemenin çözme şansı olana kadar yazılımı derhal kapatmanız için mahkeme emri almanıza izin vermez mi?) Mahkeme kararının sizin için çok daha güvenli olacağını düşünüyorum. kod bombası (bu bir suçlu olarak kabul edilebilir, eğer bir mahkeme size ait bir yazılımın size ait olmadığını tespit ederse, mülkün imhası olabilir, ABD’de Dijital Binyıl Yasası’nın dijital şifreleme bölümlerinin kırılması altında olabilir. Sulh mahkemesinde tazminat kazandığını ve halen ceza mahkemesinde mahkum edildiğini hayal edin).

Kurallar, sizin ve müşterinizin nerede yaşadığına ve çalıştığına bağlı olarak değişecektir, bu yüzden gerçekten bir avukat isteyeceğinizi düşünüyorum.


Öldürme anahtarı çoğunlukla serbest çalışmaya yönelikti. Bir sözleşme ile çok daha kolay. Halen durum şu şekildedir: Yazılımım, bilgim olmadan sunucumdan çıkarıldı ve bu kadar. Sonra tekrar, çok açık bir çalma durumu - yani yasal olarak endişelenmiyorum. Öyleyse kill-switch, yazılımım çalındığında çoğunlukla kendi sunucumdaydı. Yine de, bunun hala kötü bir fikir olduğunu hissetmeye başladım. Cevabınız için teşekkürler, birkaç gün içinde avukatımla görüşeceğim.
Kalle H. Väravas 19:11

5

Etik olarak bu iyi bir fikir mi?

Kesinlikle hayır. Sadece dürüst ve dürüst müşterilere profesyonelce görünmekle kalmaz, aynı zamanda bir bütün olarak mesleğe de zarar verdiğini hissediyorum. Yazılım mühendisleri, müşterileri veya işverenleri için, en yüksek kalitede bir yazılım sunmak da dahil olmak üzere sorumluluk sahibidir. Ödeme veya sözleşmeler konusunda bir anlaşmazlık olursa, uygun kanallar vardır. Yazılımınızın kalitesini düşürmek uygun bir kanal değildir.

Müşterilerinizle benzer sorunlar nedeniyle kendi yazılımınızı hacklemek zorunda kaldınız mı?

Asla, hiçbir zaman sözleşme veya serbest çalışma yapmadım. Ben her zaman daha büyük bir organizasyonun (bazı durumlarda bir sözleşme kapsamında çalışan) çalışanı oldum. Bana göre, düşünce düşünülemez. Yazılımın kalitesini ve sistemin kullanıcılarına karşı etik sorumluluklarımı azaltmak yerine, ismimin atfedilmesini ve küçük bir müşteri yüzdesini aldatmasından gurur duyduğum bir yazılım sunmayı tercih ederim.

Bu fikir, kod ve yöntem hakkında herhangi bir öneriniz akıllıca?

Yapma

Kendi kendini imha senaryolarının olası dezavantajları veya yansımaları neler olabilir?

Belirgin etik konuların yanı sıra, yasal sorunlardan endişe ediyorum. Kendi işini sabote etmenin yasal olup olmadığından emin değilim ve öyle olsa bile, böyle bir istismar kullanmak olmayabilir.


Cevabınız için teşekkür ederim. Sorumu kesinlikle açıkça belirtmek için düzenledim, bunun istemciden% 100 gizleneceği oldu. Çoğunlukla kendi sunucumun içinde olacak ve yalnızca geliştirme modunda olacak. Böylece biri yazılımımı çaldığında onu öldürebilirim. Yine de, daha açık olmaya başlasa da, "güç" değil kanunu kullanmalıyım.
Kalle H. Väravas 19:11

2
@ KalleH.Väravas Nerede olduğu önemli değil, başlamak için yazdığınız gerçeği. İki ortam artık aynı olmadığından ve geliştirme ve dağıtım sırasında ele alınması gereken başka bir değişken haline geldiğinden, üretim ortamına değil, onu geliştirme ortamına sokmanın argümanı daha da kötü hale gelebilir.
Thomas Owens

3

Sadece süresi dolduğunda yazılımı devre dışı bırakacak zaman sınırlı lisanslara sahip bir lisans modülü uygulayın. Bu, yazılım endüstrisinde iyi bilinen bir uygulamadır ve sonrasında sınırlamayı kaldıracağınız için müşterileriniz buna itiraz etmemelidir.

Bu, özellikleri sınırlamak ve ürününüzün farklı sürümlerini sunmak istediğinizde de kullanışlı olabilir.

Öldürme anahtarlarının sadece çok fazla riski var ve buna değmez.


2

Gizli bir kendini imha etme özelliği korkunç bir fikirdir. Evet, zekisin ve gelecekte berbat bir müşteriye sokma fırsatına sahip olabilirsin, ama bu onun değerinden daha fazla sorun.

  1. Hala yaptığın iş için para almayacaksın. Evet, diğer kişi kodunuzu kullanmayacak; ama yine de ödeme sıkıntısı çekeceksin. Sence bazı suçlular, sitelerini yıkmış olan bir kişiye uzaktan bir kez ödeme yapmaya karar verir mi? Sitelerini ücretsiz yapmak için yeni bir tombul bulurlar.

  2. Kendi kendini imha etme sırasını kullanmak, sizi kendi yasal sorunlarınızdan sorumlu kılar. Yargı bölgelerine bağlı olarak, kolayca verilerini hakediyor / yok ediyormuş gibi görülebilir (ödemek üzereyken ve neden daha önce ödemediklerine dair birçok hafifletici koşul vardı). Mahkum edilmemiş / başarılı bir şekilde dava açılmamış olsanız bile, yine de ağır yasal ücretler yükleyebilir ve değerinden çok daha fazla sorun yaşayabilirsiniz.

  3. İyi ödeme yapan bir müşteri daha sonra kodunuza göz atarsa ​​(veya küçük bir ayar yapmak için yalnızca göz atan bir CS arkadaşı varsa), garip base64 bölümüyle işlevi görürse, bunun gibi, onu çalıştırmaya çalışır ve web uygulamasını yanlışlıkla siler. (ve tatildeyken yapar, bu yüzden düzeltmek biraz zaman alır)? Ya da etik dışı olduğunu ve işinizde arkada bıraktığınızı belirten her yerde sizinle ilgili bir sürü genel inceleme yayınlar mı? Tabii ödeme yaptıktan sonra bitmiş üründen çıkarabilirsiniz, ancak VCS ile eski kaynaklara göz atabilir veya ödedikten sonra sizi sunucuda istemeyebilirler (ve bu garip bir sohbet olur; evet yine bir hesaba ihtiyacım var, çünkü benim gizli kendini imha arka kapı kaldırıldı).

  4. Suçlu verilerini yedeklerse ne olur? Web sunucularını gizli bir arka kapıyla silersiniz, site bir veya iki gün boyunca çevrimdışı olurken (veya bir arkadaşınız) rahatsız edici işlevi arka kapı işlevini ve geri çevrimiçi olarak bulur.

Gelecekte, insanların basit bir sözleşme imzalamalarını sağlayın, aşamalı olarak ödeyin ve kodun size ödeme yapılana kadar yalnızca sizin kontrol ettiğiniz geliştirme sunucusu ve bilgisayarı terk etmesine izin vermeyin. (Tüm iş bitmeden önce canlı olması gerekiyorsa; canlı hale gelen kodun bir kısmı için kabaca para ödediklerinden emin olun). Çalışmayı geliştirilme aşamasında görmek istiyorlarsa, güvenlik duvarınızı geliştirme sunucunuz için açacağınız birkaç IP adresi vermelerini isterler (ve belki de etkileyici bir CNAME ileunpaid_work_in_development.example.com). Dev sunucunuzun çalışma süresi konusunda hiçbir garanti vermeyin ve olması gerekenden çok daha fazla trafik alıyorsanız (örneğin, bir çok kişiyi sitenize yönlendirdiklerini görürsünüz) ödeme yapana kadar güvenlik duvarını kapatın. Web sunucunuza içerik eklemeleri gerekiyorsa, içerik önerileri ile size e-posta gönderin veya yalnızca küçük bir alt kümeye (dropbox dışındaki VCS kontrolü altında) yazma izinleri olan dropbox paylaşımlı bir klasör oluşturun. anlamlı bir şekilde katkıda bulunabilir (örneğin, html şablonları).


Gelecekte berbat bir müşteriye mi soktun? Bu benim istemediğim bir şey, hatta bahsettiğim bir şey. Ve ödeme alamazsam, yine de yazılımı kaybedecek, ilk puanınız ne kadar geçerli? Ayrıca soruma iki nokta vardı, kendi sunucumda ve / veya istemciler sunucusunda kill-switch'e sahip olmak etik / yasal mı? Hangisini kastettiğini söylemedin. Oldukça kesin, kendi sunucumda kill-switch'ler olabilir. Biri kopyaladığında, uzaktan silebilirim. Ve kill-switch yazılımda bulunmadığı için iyi müşterilerin alakasız olduğunu düşünüyorum. 1 çizgi.
Kalle H. Väravas 20:11

2

Yanlış soruyu sordun. Üzerinde çalışılacak ve geliştirilecek şey, bir tür uzaktan öldürme anahtarı eklemek değil (sizin veya bir başkasının kullanabileceği bir güvenlik açığı eklemek ) değil, ödeme ve teslimat için düzenleme yapmanın kötü bir yolu olan gerçek sorununuzu düzeltmektir. Daha iyi bir emanet sistemine ihtiyacınız var gibi görünüyor (ya da yaşadığınız yerde bu tür bir kavram ne denirse).

Vaktinizi bir öldürme anahtarına harcamayın, iş anlaşmasının neresinde batırdığınızı anlayın.


-1 Üzgünüm, ama cevabınız konu dışı. İyi tavsiye, biraz rahatsız edici ama yine de. Tüm hikayeyi bilmediğiniz için yargılarda bulunmanızı önermiyorum, ne de genelde nasıl iş yaptığımı biliyorsunuz.
Kalle H. Väravas 20:11

2

Sanırım bir tür lisans mekanizması geliştiririm. Bu, herhangi bir sayıda ticari veya ev yapımı fikirlere dayalı olabilir ve lisansın süresi dolduktan sonra yazılımın çalışmamasına neden olabilir. Bu noktada sistem müşteri tarafından kabul edilir ve ödeme yaptıkları takdirde süresi dolmayan tam bir lisans verebilirsiniz.

Bu yaklaşım aynı zamanda bölgenizdeki bir avukatın onayına ihtiyaç duyar ancak yazılımı uzaktan devre dışı bırakmanız gerekmediğini ve bunun elden önce sistemin bir parçası olduğunu belirtebilirsiniz. Ancak, ilk başta ödemeyi reddeden insanlarla uğraşıyor olmanız bana çok üzücü geliyor.


Deneme yazılımı fikrini gerçekten sevmeye başladım. Ancak, ikinci kısım yumuşaktır. Temel olarak, deneme lisansı veya hatta kill-switch bile yazılımın bir parçasıysa, o zaman tamamen yasaldır. Sözleşmeli veya sözleşmesiz işlere bağlı olarak sözleşmede belirtilmelidir.
Kalle H. Väravas 21:11

2

Buna DRM denmiyor mu? Ödeme aldıktan sonra “bombayı” kaldırdığınız sürece, bununla ilgili yasal bir sorun görmüyorum. Sadece kıçını örtmek için hazır bir yamanın olduğundan ve kötü niyetli bir niyetinin olmadığını gösterdiğinden emin ol.

Bana, bazı şirketlerin düşmanca bir devralma durumunda faaliyete giren ana sözleşmelerindeki “zehir hapı” karşılığını hatırlatıyor.

Tanık olmak gerekirse, buradaki diğer bazı posterlerin ifade ettiği zihniyet bana bazı programcıların neden her zaman adım attığını hatırlatıyor. Eğer daha çok kişi bu tür bombaları kendi kurallarına koyarsa, programcıların derhal daha fazla para kazanabileceğini düşünüyorum. İnsanlar başkalarının zor işlerini çalmayı sever. Dönemi. Ve eğer Apple ve ark. canı cehenneme DRM, sonra serbest programcılar da olabilir düşünüyorum ...


Cevabını seviyorum, diğer cevaplardan çok daha iyi bir noktaya değindi. Avukatımla kontrol ettim ve daha sonra yönetici panelinin içine girip filemanager aracılığıyla bağlantısız bir betiği yüklemenin hacker - yasa dışı olduğunu kabul ettiğini söyledi. Ancak, yazılımın içinde yerleşik bir fonksiyon varsa .. o zaman yazılımın bir parçası ve kendi amacı vardır. Bu, sözleşmesiz işlerle ilgili olmasına rağmen, açıkça sözleşmede ele alınmalıdır. Cevabınız için teşekkür ederim :)
Kalle H. Väravas 21:11

0

Pratik bir notta, müşteri kesinlikle günlüklerini kontrol eder, kill isteğini bulur, kodu bir yedekten geri yükler, kill anahtarını kaldırır ve yeniden dağıtır.


Doğru, ancak bu istemciye, yazılıma, sunucuya bağlı. Benim durumumda, istemci ftp erişimini zorlukla değiştirebilirdi. Ancak günlükleri kontrol etmek mümkün değildir. Ayrıca, bu sunucu böyle bir
günlüğü

-2

Sorunuzun ayrıntıları, bunun kesinlikle korkunç bir fikir olacağını açıkça ortaya koyuyor. Böyle bir öldürme anahtarını keşfeden ilk müşteri (muhtemelen kullandıktan ve bir yedeklemeden kurtardıktan sonra), öldürme anahtarını ve bunları kendilerine verdiğiniz koda dahil ettiğiniz gerçeğini yayınlar. Şöhretiniz tamamen ortadan kalkacaktı.

Ve "peki, onlar çıkmaz olurlar, itibarımı nasıl mahvederler?" Demeden önce Bunun gibi bir senaryo düşünün: Müşteri iyi durumda, ancak çalışanlarından biri kodun bir kopyasını alıyor. O çalışanı kovarlar, koda bakar, öldürme anahtarını bulur ve kullanır. Bil bakalım suçu kim aldı? (İpucu: Sizsiniz.)


Katılmıyorum. Aslında çok iyi bir fikir. Ayrıntıları dikkatlice okursanız, o zaman sözleşmesiz işlerden bahsettiğimi anlarsınız. Örnek davamda müşteri sorgulanabilir. Bilinen haydut olarak ünü ve kendimi koruma girişimi. Bunun itibarımı olumsuz yönde etkileyeceğini sanmıyorum. Senaryonun sözleşmeli işe benziyor. Bu durumda sözleşmem var, kill düğmesine gerek yok. Ancak, herhangi bir sözleşme yoksa, o zaman ya da kodun kopyasını
alamazsınız

Herhangi bir sözleşme yoksa, donanımlarındaki kill anahtarını etkinleştirme hakkı için anlaşma yapmadınız, değil mi? Kötü bir fikir.
David Schwartz

Herhangi bir sözleşme yoksa, yazılımın bir parçası olmanın şartları yoktur. Kill-switch yazılımın bir parçası ise, evet .. programcılar açısından: etik mi? Ancak, yasal. Zira komut anahtarının bir parçası olarak kill-switch amacı, HERKES'i silmek amacıyla uzaktan aktif hale getirilmek. Yasal, neden kötü bir fikir?
Kalle H. Väravas 21:11

1
Yani kasıtlı olarak, bir başkasının bilgisayarının, izinleri olmadan hareket etmelerini istedikleri şekilde çalışmamasına neden olduğunu söylüyorsunuz (özellikle bunu yapıp yapamayacağınızı sorarsanız, "hayır" derlerdi) yasal olarak aynıdır. sistemin sahibinin bunu yaparken size herhangi bir itirazı olmayacağını düşünmek için hiçbir nedeniniz olmadığı, zararsız bir işlem yapmak? Bunu bir jüriye attığını duymayı çok isterim. (Bir kişiye silah nişan almak ve vurmak tıpkı bir ışık düğmesini açmak gibi bir şey değil mi?)
David Schwartz

1
Aldığınız cevap sadece sorduğunuz soru kadar iyidir. Mesela, onlara cevabımda tartıştığım davayı sordunuz mu? (Eski bir çalışan öldürme anahtarının nasıl etkinleştirileceğini buluyor.)
David Schwartz
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.