ホームページ  >  記事  >  バックエンド開発  >  php関数の勉強メモ

php関数の勉強メモ

不言
不言オリジナル
2018-04-17 15:57:091829ブラウズ

この記事では、特定の参考値を持つ PHP 関数についての学習メモを紹介します。必要な友達が参照できるようにします

$_SERVER["PHP_SELF"] 。現在実行中のスクリプトのファイル名を返します。
htmlspatialchars(var) 特定の文字を HTML エンティティに変換します。攻撃者が HTML または JavaScript コードをフォームに挿入することによってコードを悪用すること (クロスサイト スクリプティング攻撃) を防ぎます。

アプリケーション: $_SERVER["PHP_SELF"] 変数がハッカーによって悪用される可能性があります。ページで PHP_SELF を使用している場合、ユーザーはアンダースコアを入力してクロスサイト スクリプティング (XSS) を実行できます。

ヒント: クロスサイト スクリプティング (XSS) は、Web アプリケーションで一般的なコンピューター セキュリティの脆弱性の一種です。 XSS を使用すると、攻撃者は他のユーザーが閲覧する Web ページにクライアント側のスクリプトを入力できます。

例: test.php ページにフォームがあります:

<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">

アドレスバーが通常の URL: hhtp://www.example.com/test.php の場合、上記のコードは次のように変換されます:

<form method="post" action="test.php">

http://www.example.com/test.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E と入力すると、上記のコードは次のように変換されます:

<form method="post" action="test.php"/><script>alert(&#39;hacked&#39;);</script>

上記の状況を回避するには、htmlspecialchars() 関数を使用します。フォーム コード:

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

この時点で、 http://www.example.com/test.php/%22%3E%3Cscript%3Ealert('hacked') と入力します。 %3C/script%3E。上記のコードは次のように変換されます。

<form method="post" action="test.php/"><script>alert(&#39;hacked&#39;)</script>"
が悪用されることはなく、害はありません。
trim(var) 余分なスペース、タブ、改行を削除
stripslashes(var) バックスラッシュを削除()
$_SERVER["REQUEST_METHOD"]
空( var) は、変数 にデータが割り当てられており、空 でないかどうかを判断します。 ''、null、false、00、0、'0'、未定義、array()、および var $var はすべて true を返します。
isset(var[,var[,...]]) 変数が宣言されているかどうかを確認します。未定義の変数の場合は true を返します。変数の設定を解除すると、その変数はキャンセルされます。
is_null(var) 値、変数、または式が null かどうかを確認します。未定義の変数を渡すと true が返されますが、エラーが報告されます。
define(var) 定数が宣言されているかどうかを確認します。

1. Empty と isset は、まず変数が存在するかどうかを確認し、次に変数の値を検出します。そして is_null は変数値を直接チェックして、それが null かどうかを確認するだけです。

2. empty および isset 入力パラメータは変数である必要がありますが、is_null 入力パラメータは戻り値を持つことができる限り (定数、変数、式など) を持つことができます。 PHP マニュアルでは、空、isset は関数ではなく言語構造であるため、変数関数から呼び出すことができないと分析されています。

preg_match(正規表現, 変数) 文字列のパターンを取得し、パターンが存在する場合は true を返し、存在しない場合は false を返します。

関連おすすめ:

あまり知られていないが非常に便利な 10 の PHP 関数

php 関数 未定義のパラメーター メソッド



以上がphp関数の勉強メモの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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