Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

--TEST-- Test file_get_contents() function : variation - obscure filenames --CREDITS-- Dav..

Decoded Output download

--TEST--
Test file_get_contents() function : variation - obscure filenames
--CREDITS--
Dave Kelsey <[email protected]>
--SKIPIF--
<?php
if (substr(PHP_OS, 0, 3) == 'WIN') {
    die('skip.. Not valid for Windows');
}
?>
--CONFLICTS--
obscure_filename
--FILE--
<?php
echo "*** Testing file_get_contents() : variation ***
";
/* An array of filenames */
$names_arr = array(
  /* Invalid args */
  -1,
  TRUE,
  FALSE,
  "",
  " ",
  "",
  array(),

  /* prefix with path separator of a non existing directory*/
  "/no/such/file/dir",
  "php/php"

);

for( $i=0; $i<count($names_arr); $i++ ) {
    echo "-- Iteration $i --
";
    try {
        var_dump(file_get_contents($names_arr[$i]));
    } catch (\TypeError|\ValueError $e) {
        echo get_class($e) . ': ' . $e->getMessage(), "
";
    }
}

echo "
*** Done ***
";
?>
--EXPECTF--
*** Testing file_get_contents() : variation ***
-- Iteration 0 --

Warning: file_get_contents(-1): Failed to open stream: No such file or directory in %s on line %d
bool(false)
-- Iteration 1 --

Warning: file_get_contents(1): Failed to open stream: No such file or directory in %s on line %d
bool(false)
-- Iteration 2 --
ValueError: Path cannot be empty
-- Iteration 3 --
ValueError: Path cannot be empty
-- Iteration 4 --

Warning: file_get_contents( ): Failed to open stream: No such file or directory in %s on line %d
bool(false)
-- Iteration 5 --
ValueError: file_get_contents(): Argument #1 ($filename) must not contain any null bytes
-- Iteration 6 --
TypeError: file_get_contents(): Argument #1 ($filename) must be of type string, array given
-- Iteration 7 --

Warning: file_get_contents(/no/such/file/dir): Failed to open stream: No such file or directory in %s on line %d
bool(false)
-- Iteration 8 --

Warning: file_get_contents(php/php): Failed to open stream: No such file or directory in %s on line %d
bool(false)

*** Done ***

Did this file decode correctly?

Original Code

--TEST--
Test file_get_contents() function : variation - obscure filenames
--CREDITS--
Dave Kelsey <[email protected]>
--SKIPIF--
<?php
if (substr(PHP_OS, 0, 3) == 'WIN') {
    die('skip.. Not valid for Windows');
}
?>
--CONFLICTS--
obscure_filename
--FILE--
<?php
echo "*** Testing file_get_contents() : variation ***\n";
/* An array of filenames */
$names_arr = array(
  /* Invalid args */
  -1,
  TRUE,
  FALSE,
  "",
  " ",
  "\0",
  array(),

  /* prefix with path separator of a non existing directory*/
  "/no/such/file/dir",
  "php/php"

);

for( $i=0; $i<count($names_arr); $i++ ) {
    echo "-- Iteration $i --\n";
    try {
        var_dump(file_get_contents($names_arr[$i]));
    } catch (\TypeError|\ValueError $e) {
        echo get_class($e) . ': ' . $e->getMessage(), "\n";
    }
}

echo "\n*** Done ***\n";
?>
--EXPECTF--
*** Testing file_get_contents() : variation ***
-- Iteration 0 --

Warning: file_get_contents(-1): Failed to open stream: No such file or directory in %s on line %d
bool(false)
-- Iteration 1 --

Warning: file_get_contents(1): Failed to open stream: No such file or directory in %s on line %d
bool(false)
-- Iteration 2 --
ValueError: Path cannot be empty
-- Iteration 3 --
ValueError: Path cannot be empty
-- Iteration 4 --

Warning: file_get_contents( ): Failed to open stream: No such file or directory in %s on line %d
bool(false)
-- Iteration 5 --
ValueError: file_get_contents(): Argument #1 ($filename) must not contain any null bytes
-- Iteration 6 --
TypeError: file_get_contents(): Argument #1 ($filename) must be of type string, array given
-- Iteration 7 --

Warning: file_get_contents(/no/such/file/dir): Failed to open stream: No such file or directory in %s on line %d
bool(false)
-- Iteration 8 --

Warning: file_get_contents(php/php): Failed to open stream: No such file or directory in %s on line %d
bool(false)

*** Done ***

Function Calls

None

Variables

None

Stats

MD5 577e4bcd39bec0c628a5769586247a39
Eval Count 0
Decode Time 81 ms