asp / c#でWebサイトを構築しており、外部の人が管理する複数のサーバーに展開する必要があります。
サーバーにアクセスできる人がコードにアクセスして再利用するのを避ける必要があります。
これまで聞いたオプションの1つは、コード内のMACアドレスを確認できることですが、MACアドレスはユーザーが変更できます。
この種の状況を回避するために利用できる最も安全なオプションは何ですか?
あなたにはいくつかの選択肢がありますが、多くの人がコメントしているように...多分それらは価値がありません。
唯一の信頼できるものは次のとおりです。
100%信頼できる唯一の方法は、他のユーザーが実際にデプロイされたファイルにアクセスできないようにすることです。
コードはそもそも機能する必要があるため、十分に動機付けられたクラッカーは、何をしても、基になるソースを取得します。
デプロイフォルダを監査して、アクセスログを取得できます。相互作用を妨げることはありませんが、少なくとも誰が何を取得したかはわかります...何もないよりはましです。
最も制御力のあるオプション:外部の人が管理する1台の外部サーバーを展開しないでください。
他のすべてのものはあなたのコードを保護するためのより少ないオプションを持っているでしょう、そしてあなたはただどの時点で価格が支払っても大丈夫かを決める必要があります。
ソースコード全体をサーバーに配置するのではなく、Webサイトを「公開」して、コンパイルされたWebサイトにすることができます。
ここでガイドを見つけることができます
通常、Webアプリを完全に「クローズド」ソースにすることはできません。
binにコンパイルされたDLL(難読化可能)の他に、ビューページ(.aspx、.ascx、.master、.cshtml)に小さな「オープンソース」が必要です。
100%閉じたい場合は、非標準の方法を使用してビューを提供することを検討してください。これにより、すべてをDLLにパックし、さまざまなURLを処理するhttpハンドラーコードを記述できます。
これを行う必要がある場合は、企業レベルで何か間違ったことをしていることを示唆しています。最善の手順は、通常、著作権侵害を防止しようとするのではなく、それを受け入れることです。コードを誰でも簡単に利用できるようにし、必要に応じて自分でトレントサイトにシードしますが、実行は非常に制限された方法でのみ行います。たとえば、一度に1つの接続のみであるため、ライセンスの登録と購入には明らかな利点があります。
ライセンスを明確で手頃な価格にし、ソフトウェアを海賊版にする動機がない場合、予防は常に治療よりも優れています。