前提条件
- Replitアカウント
- 使用するプログラミング言語の基本的な理解
- プロジェクトエディターの使い方
- Replitで構築中のアプリケーション
フロントエンドセキュリティ
HTTPS everywhere
HTTPS everywhere
ReplitはすべてのアプリケーションでデフォルトでHTTPSを使用します。心配する必要はありません!
入力バリデーションとサニタイズ
入力バリデーションとサニタイズ
クロスサイトスクリプティング(XSS)攻撃を防ぐために、常にユーザー入力をバリデーション・サニタイズしてください:Agentに聞いてください:
機密データをブラウザに置かない
機密データをブラウザに置かない
APIキーなどの機密情報の保存にはReplit Secretsを使用してください。シークレットをクライアントサイドに渡したり、以下の場所に置かないようにしてください:
- ローカルストレージ
- セッションストレージ
- クライアントサイドJavaScript
- 適切なセキュリティ属性なしのCookie
CSRF対策
CSRF対策
フォームにクロスサイトリクエストフォージェリ(CSRF)対策を実装してください:Agentに聞いてください:
バックエンドセキュリティ
認証の基本
認証の基本
認証を実装する際:
- 可能な場合はReplit Authを使用する
- カスタム認証を構築する場合は確立されたライブラリを使用する
- パスワードを平文で保存しない
認可チェック
認可チェック
アクションを実行する前に必ず権限を確認してください:Agentに聞いてください:
APIエンドポイントの保護
APIエンドポイントの保護
APIエンドポイントを安全にする:
- 機密エンドポイントに認証を追加する
- 適切なCORS設定を実装する
- レート制限を検討する
SQLインジェクション対策
SQLインジェクション対策
AgentはデフォルトでORMを使用するため、SQLインジェクションを防ぐのに役立ちます。カスタムデータベースクエリを書く場合:
セキュリティヘッダー
セキュリティヘッダー
継続的なセキュリティプラクティス
依存関係を最新の状態に保つ
依存関係を最新の状態に保つ
脆弱性を持つ可能性のある古いパッケージを定期的に確認してください:
適切なエラー処理
適切なエラー処理
エラーメッセージで機密情報を公開しないでください:Agentに聞いてください:
ファイルアップロードのセキュリティ
ファイルアップロードのセキュリティ
アプリケーションでファイルアップロードを許可する場合:
- ファイルタイプとサイズを制限する
- 可能であればマルウェアをスキャンする
- Replitのオブジェクトストレージにファイルを保存する
- ユーザー提供のファイル名を使用せず、新しいファイル名を生成する
レート制限
レート制限
特に認証関連のAPIエンドポイントにレート制限を実装してください:Agentに聞いてください: