%0D%0A和/ n之间的差异

时间:2016-06-05 16:34:40

标签: php

我正在测试小脚本以试图找出差异

test.php的:

<html>
   <body><link rel='stylesheet' property='stylesheet' id='s' type='text/css' href='/template/s.css' media='all' /><iframe id='iframe' src='https://www.root-me.org/?page=externe_header'></iframe>
    <h1>Authentication v 0.04</h1>
    <form action="" method="GET">
     Login&nbsp;<br/>
     <input type="text" name="username" /><br/><br/>
     Password&nbsp;<br/>
     <input type="password" name="password" /><br/><br/>
     <br/><br/>
     <input type="submit" value="connect" /><br/><br/>
    </form>
<fieldset><legend>Authentication log</legend><pre>

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
echo $_GET['username'].'Failed';
$first_line = strstr($_GET['username'], "\n", true);
?>
</pre></fieldset></body></html>

当我尝试制作Get请求时这样:

http://localhost/test.php?username=%0D%0Aadmin%0D%0whatever&password=password

结果:

admin authenticated
whatever failed

我是如何得到这个结果的?

&安培;如果想检查是否有2行

我可以查看

$first_line = strstr($_GET['username'], "\n", true);

现在我检查\n而不是%0D%0A

那么他们之间有什么区别?

1 个答案:

答案 0 :(得分:1)

\n仅为\n%0D%0A\r\n

Here is another stack overflow post介绍了\r\n

之间的区别