スクレイピングを防止するWebページ
絶対に画像をダウンロード&スクレイピングさせないWebページを本気で作ってみた | blog.potproject.net
passwordをクライアントに渡す必要がある時点で時間をかければ必ず解ける
解いている人:https://twitter.com/hrjn/status/1662779811432103936
解法
canvasを使っていることはHTMLからわかるので、挙動を想像して対応する
prototypeでoverrideする
UserScriptなどで事前にprototypeを挿入
文字列はCanvasRenderingContext2D.fillTextを使っているだろうから先に封じてしまう
CanvasRenderingContext2D.prototype.fillText = () => {}
https://developer.mozilla.org/ja/docs/Web/API/CanvasRenderingContext2D/fillText
via https://twitter.com/cubbit2/status/1662698414780596225
canvasのdataURLを抽出する
document.querySelector("canvas").toDataURL("image/jpeg")
https://twitter.com/mizchi/status/1662789139672989697?s=20
これだと画像は手に入るけどcanvasでの署名は除去できないと思う基素.icon
canvasにCORS許可なく他のオリジンから読み込んだ画像を描画することで画像のダウンロードを防ぐ
関連
JavaScript Obfuscator Toolによって難読化されたコードを解読する