2

私は不思議に思っていました...私の友人と私はこれについて議論していました. エコーコールに到達するためにURLに渡すことができるものはありますか(「イェーイポテト!!!」と言うものは申し訳ありませんが不明でした)?

<?
if(eregi("potato",$_GET[id])) {
  echo("<p>Awww no potatoes :c </3</p>");
  exit();
}

$_GET[id] = urldecode($_GET[id]);
if($_GET[id] == "potato")
{
  echo "<p>Yay potatoes!!!!!</p>";
}
?>
4

1 に答える 1

5

はい。文字(またはそれ以上)を二重にエンコードできます

?id=%2570otato

PHP は最初のものをデコードし、次のように表示します。

$_GET['id'] = "%70otato"

eregi()これは終了せずに通過します。次に、それを実行urldecode()すると、 が得られますpotato

ねえ、ポテト。コードパッドの例: http://codepad.org/IYwizCXK

于 2013-05-04T04:28:14.787 に答える