bug73630.phpt 749 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. --TEST--
  2. Bug #73630 (Built-in Weberver - overwrite $_SERVER['request_uri'])
  3. --SKIPIF--
  4. <?php
  5. include "skipif.inc";
  6. ?>
  7. --FILE--
  8. <?php
  9. $code = <<<'EOF'
  10. var_dump(strncmp($_SERVER['REQUEST_URI'], "/overflow.php", strlen("/overflow.php")));
  11. var_dump(strlen($_SERVER['QUERY_STRING']));
  12. EOF;
  13. include "php_cli_server.inc";
  14. php_cli_server_start($code);
  15. $host = PHP_CLI_SERVER_HOSTNAME;
  16. $fp = php_cli_server_connect();
  17. $path = "/overflow.php?" . str_repeat("x", 16400) . "//example.com";
  18. if (fwrite($fp, <<<HEADER
  19. GET $path HTTP/1.1
  20. Host: {$host}
  21. HEADER
  22. )) {
  23. while (!feof($fp)) {
  24. echo fgets($fp);
  25. }
  26. }
  27. ?>
  28. --EXPECTF--
  29. HTTP/1.1 200 OK
  30. Host: %s
  31. Date: %s
  32. Connection: close
  33. X-Powered-By: PHP/%s
  34. Content-type: text/html; charset=UTF-8
  35. int(0)
  36. int(16413)