免責事項:機能が TO-DO-DEPRECATION リストの一番上にあることを理解しています。すべての警告は聖歌隊に説教するだけです。
とりあえず。mysql_* 関数を使用する会社に就職しました。mysql_real_escape_string()
全体に「素晴らしい」がないので、それは明らかに十分に悪いことではありません。すべてのユーザー入力はサニタイズされていないため、当然のことながら新しいコード モンキーなので、私の仕事はそれをすべての 4.93g の php スクリプトに組み込むことです。FML 「だから」、「$_REQUEST
各ページで配列を設定解除したらどうなるか (理由はわかりませんが、プログラム全体で一度も使用されていないか、$_POST
文字通り$_GET
すべての$_REQUEST
場所で使用されていました。) でそれをリセットしたらどうなるmysql_real_escape_string
でしょうか?」. 私にとって、それは確かに 1000000000 行のコードを実行するよりも優れています。だから私は座って、それを行う関数を書きました。これが私がいる場所です:
/*lets say input is dirty and input2 is boy*/
echo "<br><pre>";print_r($_REQUEST);echo "</pre><br>";
$tempString = implode(',', $_REQUEST);
$tempString2 = implode(',', array_keys($_REQUEST));
$tempArray = explode(',', $tempString);
$tempArray2 = explode(',', $tempString2);
$count = count($_REQUEST);
echo "<br><pre>";print_r($tempArray);echo "</pre><br>";
echo "<br>";
echo "<br><pre>";print_r($tempArray2);echo "</pre><br>";
unset($_REQUEST);
$_REQUEST = array();
for($i = 0; $i < $count; $i++){
$_REQUEST[$tempArray2[$i]] = "mysql_real_escape_string(".$tempArray[$i].")";
}
echo "<br><pre>";print_r($_REQUEST);echo "</pre><br>";
私が知る限り、それは機能しています!:
Array
(
[input] => dirty
[input2] => boy
)
Array
(
[0] => dirty
[1] => boy
)
Array
(
[0] => input
[1] => input2
)
Array
(
[input] => mysql_real_escape_string(dirty)
[input2] => mysql_real_escape_string(boy)
)
しかし、率直に言って、それは簡単すぎるようです。私が目にする差し迫った問題は
- それはのためにのみ機能します
$_REQUEST[]
- グローバル関数として設定して含める場合でも、すべてのページの上部にハードコーディングする必要があります
- 1つでもうまくいかない場合...
- mysql_* 関数は ie を吸う
mysql_real_escape_string
余談ですが、PDO からすべてを切り替えるのに何回戦ったかわかりません。
それで
私がこれをあなたたちにここに持ってきたのは、2番目の目のためだと思います. これに関して差し迫った問題はありますか?私が見逃した他の差し迫った問題はありますか?とにかく、これが好きなら、このようなものを使用できる他の人がいると確信しているので(あなたがそれを構築すれば、彼らは来るでしょう)、先に進んでgithubでそれを調べて、私のスケジュールに組み込んでください、ありがとう: )