コードの安全性が重要なのはなぜですか?
完璧なコードであっても、もしそこに 脆弱性1つのミスで、攻撃者はデータベース、トークン、またはユーザーの個人情報にアクセスできます。
安全性は「最後に」追加されるものではありません。 基礎、プロジェクトが構築されている場所。
一般的な脆弱性のトップ
SQLインジェクション — フォームのデータがデータベースへのクエリに直接挿入される場合。
解決策: 準備されたクエリを使用します(prepared statements)。XSS (Cross-Site Scripting) — 悪意のあるJavaScriptコードの導入。
解決策: ユーザー入力をエスケープし、データ型を検証します。キーとパスワードの漏洩 — 間違って読み込まれた
.envファイルまたはハードコード。
解決策: 環境変数にキーを保存し、.gitignoreを使用します。アクセス権の検証不足 — すべてのユーザーが他のユーザーのデータを要求できます。
解決策: アプリケーションの各レベルで権限の検証を追加します。更新されていない依存関係 — 脆弱性のある古いライブラリ。
解決策:npm auditまたはpip-auditを使用して依存関係を定期的にチェックします。
安全なコードを書くにはどうすればよいですか?
外部からのものはすべてチェックしてください。どのような入力も潜在的に危険です。
役割とアクセス権を分離し、ユーザーに必要以上の権限を付与しないでください。
データ転送にはHTTPSと暗号化を使用してください。
リントと静的コード分析(ESLint Security、SonarQube)を接続します。
セキュリティテストを書く — 認証、入力、APIリクエスト。
安全はプロセスです
完全に保護されたコードは存在しませんが、 ハッキングはコストがかかりすぎる定期的なレビュー、更新、自動チェックは贅沢ではなく、必需品です。
セキュリティは「余計な仕事」ではなく、ユーザーとその評判を大切にすることです。1 つのエンドポイントが保護されていないと、プロジェクトの信頼が失われる可能性があります。信頼はパッチでは回復できません。
B コディケ プログラミングは簡単で楽しいものです。短いレッスン、ゲーム化、スマートアシスタントの助け、そしてあらゆるデバイスでの学習。
そして私たちの Telegramチャンネル — 笑顔で学ぶ人のためのミーム、アドバイス、ニュース、ボーナス。
参加しよう💙
