http://software.ftp.sscmoni.com/1.png
画像がアップロードできない場合は、これをクリックしてご覧ください。
この関数で渡されるパラメータは、base64 で復号化されています。パラメータの復号化は、直接入力した場合は失敗します。二重引用符を使用した場合は、パラメータに改行が含まれていると成功します。このパラメータはPOSTフォームで動的なので渡さなければならないのですが、どのように書けばよいのでしょうか?
<?phpclass form{public function __construct($user="username", $pass="123456", $code="123456" ){$encryptedData = base64_decode($user);echo("$datedate");$decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $pass, $encryptedData, MCRYPT_MODE_CBC, "$code");echo("$decrypted");die; }}if ( sizeof($_POST) ) {$user = $_POST["date"] or die('内容不能为空!');$pass = $_POST["key"] or die('内容不能为空!');$code = $_POST["iv"] or die('内容不能为空!');$Form = new form("$user", "$pass", "$code");}?>
Base64_encode の前、base64_encode 以降の $user が何であっても、改行文字が含まれることはありません
、したがって、ディスカッションは無に基づいて行うことはできません
何があっても$user は、base64_encode の前にありますか? Base64_encode の後は、改行文字は存在しません
しかし、$decrypted をエコーすると、ブラウザは改行文字を変更しないため、改行文字が改行として表示されます。 HTML の改行は br タグと p タグです
それを観察するにはテキスト状態になる必要があります
神様、私はそれを解決しました 問題の解決を手伝ってくれた皆さん、ありがとう