php parse_の使用strクエリー文字列を変数に解析する方法

2048 ワード

この例ではphpのparse_の使用について説明します.strはクエリ文字列を変数に解析する方法を実現する.皆さんの参考にしてください.具体的には以下の通りです.
parse_str()関数は文字列を変数に解析することを実現することができ、これは文字列と変数の間の変換メカニズムを実現することを意味し、クライアントデータと伝達する過程で、データはGET要求のような文字列の形式で伝達され、サーバ側で$_を通過する.GET/$_POSTなどのグローバル変数は、//www.jb 51.net/?index.php?var 1=1&var 2=2などの文字列と変数の変換を実現し、要求後のサービス側は$_を使用することができる.GET['var 1']方式でvar 1=1&var 2=2という文字列を変数に変換します.parse_str()関数はparse_を用いてサンプル機能を実現することができるstr()関数解析$SERVER['QUERY_STRING']の値は、$var 1などの文字列と変数の変換を直接実現します.
一、関数原型void parse_str ( string str [, array &arr] )
二、バージョン互換
PHP 3, PHP 4, PHP 5
三、関数の基礎用法と例
1.解析文字列が変数




2.文字列を解析し、変数を配列に格納




出力:

Array ( [var1] => jb51 [var2] => parse_str )

説明:この変数を配列に格納すると、PHP 4.0.3で増加します.
3.解析文字列にスペースがある




出力:

Array ( [v_ar1] => jb51 [var_2] => parse_str )

説明:スペースを直接下線に変換_
四、注意事項
1.arrayパラメータが設定されていない場合、関数によって設定された変数は、同じ名前の変数で上書きされます.
2.php.iniのmagic_quotes_gpc設定はこの関数の出力に影響します.有効になっている場合はparse_str()解析の前に、変数はaddslashes()に変換されます.
3. parse_str()関数はパラメータの処理中に脆弱性があり、攻撃者はこの脆弱性を利用してregister_を有効にすることができる.globalsは、他のPHPスクリプトの脆弱性をさらに利用します.parse_を1つのパラメータで呼び出す場合str()の場合、このパラメータはURLで転送された要求文字列のように提供された文字列を解析していると考えられますが、外部攻撃者はparse_を呼び出すことができます.str()期間中にmemory_をトリガするために多くの要求変数が送信されるLimitリクエストの終了.parse_を呼び出している場合str()期間にリクエストクローズが実行されると、関連するwebserverプロセスの残りのライフサイクル期間にregister_globalsラベルはずっと開いています.
PHPについてもっと兴味のある読者は、「php文字列(string)用法総括」、「PHPデータ构造とアルゴリズム教程」、「phpプログラム设计アルゴリズム総括」、「phpソートアルゴリズム総括」、「PHP常用遍歴アルゴリズムとテクニック総括」、「PHP数学演算テクニック総括」、「PHP配列(Array)操作テクニック大全」及び「php一般データベース操作テクニック要約」
ここで述べたことが皆さんのPHPプログラム設計に役立つことを願っています.