セキュリティ
「100% 安全」なサイトは存在しませんし、私たちもそう言いません。ここでの目標は攻撃対象領域を大幅に減らすことです。このサイトはごくわずかなことしかしません。
具体的な選択
- 完全な静的サイト。バックエンドなし、データベースなし、ログインなし。
- サードパーティの実行時依存なし。CDN なし、外部ライブラリなし。サプライチェーンのリスクは最小です。
- コードに秘密情報なし。定義上公開されている PayPal のユーザー名を除けば、トークンも API キーもパスワードもありません。
- 厳しめの Content Security Policy。インラインのスクリプトやスタイルなし、eval なし。
- ユーザー入力を HTML として挿入しません。textContent のみを使います。
- 支払い先は PayPal の公式オリジンにハードコードされており、利用者が変更することはできません。
- クリックジャッキング対策として frame-ancestors 'none' と X-Frame-Options: DENY。
- 外部リンクには rel="noopener noreferrer" を付与。
問題を見つけたら
セキュリティに関する報告は、ソースコードのリポジトリの issue で歓迎します。バグ報奨金制度はありません。なにしろ「何もしない」ためのサイトなので。