PHPを例に挙げているため、Node.jsでどのように実装すればよいのかわかりません。
Webブラウザは「HTTPリクエスト」というWeb業界のお作法に則って
Webサーバに対してデータをくださいという要求を行います。
これはWeb(インターネット)の仕様書のRFCにバッチリ記載されています。
参考記事: ハイパーテキスト転送プロトコル -- HTTP/1.1 (RFC2616)
これに基づいて動作してないWebブラウザなんてありませんし
(個人で勝手に作ったブラウザなら知らんけど、ChromeでRFCを無視してたら速攻バレて袋叩きにされるでしょう)
これに準拠していないWebサーバなんてありません。
そこから掘り下げればなんとでもなります。
ってHTTP REQUEST_METHODが分からないってやばくね?
Webサーバ立ち上げた事一度もありませんレベルの告白なんだけど……
Node.js初心者御用達のExpressではapp.post(path, fn)
で実現できる
https://qiita.com/yomogenium/items/881a55417dc047756e78
このサイトによると、直接アクセスした場合ニセのコードを出力してソースコードを見られないようにすることができるようですが
なんだこれ
デベロッパーツールのnetworkタブ開きっぱなしで全部抜けるのでは?
ローカル持ち逃げからのコピペ実装を踏まえると何も質問文の要件を満たせてません。
丸パクリを牽制するなら
実行ドメインが想定してるサーバと合ってるか否かを確認して、
違ってたらAjaxで自社に通報する仕組みでも導入すれば良いんじゃ?
またQiita記事のような小細工レベルではなく
そこそこの技術力があってもさじを投げるレベルは可能です。
具体的な例だとお城プロジェクトのPCブラウザ版ですね。
このゲームはJavaScriptで動いていますが、
EmscriptenでLLVM越しに何かの言語からコンパイルして作っています。
我々Web系エンジニアがこの処理はちょっとマシンパワー使うかもしれないからRustでやろうかな?
レベルではなく、全てがまるっとEmscriptenで包んであって何やってるかわかりません。
デベロッパーツールを開いて通信内容を見張っていても
お行儀の良いテキストファイルではなく、がっつりバイナリデータを授受してるので
解析することも困難です。
丸ごと保管して環境エミュレートしてローカルで動かせばええやねと思っても、
相当時間が掛かること請け合いです。
しかもこのゲーム、2週間に1度程度のペースでアップデートされます。
こういう所に価値があるので
せっかく苦労して作成したコードもパクられてしまいます。
これは解消出来たと言っても良いのではないでしょうか?
パクるのに時間かかるし価値もコピー出来ない。
とまぁ、どの程度まで対策や難読化を頑張るかにもよりますが、
基本的にDLしたファイルを全て持ち逃げして
ローカルで環境エミュレートしながら逆コンパイルを含めると流石に質問文の要件を全て満たす事は不可能です。
せっかく苦労して作成したコードもパクられてしまいます。
そこでマネタイズするなら辛いでしょうね。
しかし世のほぼ全てのサービスは他のユーザーとのコミュニケーションだとか
インターネット越しに商品が購入出来るだとか
音楽や映画等のコンテンツを視聴するだとか
そういうパクれない所でユーザーをもてなす事でマネタイズをしています。
ユーザーの体験で勝負!
ユーザー体験をUXと呼び、UXを最大化することでマネタイズをします。
貴方が会社の社長・取締役の立場なら
HTML、CSS、JavaScriptはコピーされるかもしれない、
でも俺達が作ったサービスは真似が出来ないぞ、何故ならば○○だから!
こういう何かしらで丸パクリされても戦えるサービスを捻出しなければなりません。
例えば私に限らず少し技術力があれば誰でも可能ですが、
Twitterのソースコードを丸パクリして同じようなサービスをすぐにリリース出来ます。
でもコードを解析して付加価値付けてるわけでもないし、全てがTwitterの追従でしかない。
誰も使わないのは目に見えてますのでそんな気はおきません。
やる奴はタダのバカです。
社員の立場ならそういう事が出来ない社長・取締役が居ない会社は
そのうち立ちいかなくなるのでさっさと逃げましょう。
まぁ、流石に何か考えてると思うので数年頑張ってみては?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/01 08:03
2021/11/01 08:08