ホームページ  >  記事  >  バックエンド開発  >  PHP セキュリティ - シンプルさは美しい

PHP セキュリティ - シンプルさは美しい

黄舟
黄舟オリジナル
2017-02-23 09:13:371252ブラウズ


シンプルは美しい

複雑さはエラーを生み出し、エラーはセキュリティの脆弱性につながる可能性があります。この単純な事実は、安全なアプリケーションにとってシンプルさがなぜ非常に重要であるかを示しています。不必要な複雑さは、不必要なリスクと同じくらい悪いものです。

たとえば、次のコードは、最近のセキュリティ脆弱性通知からの抜粋です:

CODE:

  <?php
 
  $search = (isset($_GET[&#39;search&#39;]) ?
$_GET[&#39;search&#39;] : &#39;&#39;);
 
?>

このプロセスは、特に経験の浅い開発者にとって、$search 変数が汚染されている*という事実を混乱させる可能性があります。上記のステートメントは、次のプログラムと同等です:

CODE:

 
  <?php
 
  $search = &#39;&#39;;
 
  if (isset($_GET[&#39;search&#39;]))
  {
    $search = $_GET[&#39;search&#39;];
  }
 
  ?>

上記 2 つの処理フローはまったく同じです。次の文に注目してください:

  $search = $_GET[&#39;search&#39;];

このステートメントを使用すると、$search 変数の状態がプロセスに影響を与えることなくそのまま維持され、汚染されているかどうかも確認できます。

* 注釈: 汚染された変数とは、プログラムの実行中に、変数の値が代入ステートメントによって直接指定されず、コンソール エントリやデータベースなどの他のソースから取得されることを意味します。

上記は PHP Security-Simplicity is Beautiful の内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) をご覧ください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。