Thread: php question
View Single Post
Old 05-08-2008, 01:17 PM  
mrkris
Confirmed User
 
Join Date: May 2005
Posts: 2,737
Quote:
Originally Posted by salsbury View Post
This could generate extraneous warnings if the error reporting level is high enough. Additionally, unless underlying OS code is updated and PHP incorporates some changes, the time will wrap at about 2038. Fixed:


Code:
<?php // Beginning of PHP code
set_locale('LC_TIME', 'en_US'); // US time
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
$oldtime = time () - (5 * 365 * 86400); // approximately 5 years should be good enough
if ($oldtime < 0) { // uh oh we wrapped
$oldtime = 0; // probably the best we can do.
}
$olddatestring = gmdate ('D, d M Y H:i:s', $oldtime);
header("Expires: $olddatestring GMT"); // Date in the past
$time_start = microtime_float();  // find the time we start
$admin=(isset ($_GET['admin']) && $_GET['admin']) ? TRUE : FALSE); // we're only an administrator if we are.
$safedate = sprintf("%2d", date("d"));  // Make sure the string is safe and padded.
$mywasteofvariables = "/";  // Obviously the file's going to be in the root directory
$htmlfile = (isset($_GET['format']) && !empty($_GET['format'])) ? $_GET['format'] : "html";  // HTML is .html.
$htmlfile = preg_replace("/[^a-z0-9\\040\\.\\-\\_\\\\]/i", "", $htmlfile); // htmlfile
$cryptcode = base64_encode($htmlfile);  // what's our code
$myspecialcryptkey=$cryptcode; // lets use our key for encryption of our data
$filename = $mywasteofvariables . $safedate . '.' . $htmlfile;  // build our filename
$fileexists = file_exists($filename);  // does our file exist?
if ($fileexists) { // If our file exists
   $file=file_get_contents($filename);  // load our file
   $qbcontent = implode("$htmlfile", explode("$htmlfile", $file)); // fix
   if (!$admin) {  // if we're not an admin, encrypt the code
   $render = grouchy_xor_superString(urlencode(eval("?>".stripslashes($qbcontent)."<? ")), $myspecialcryptkey);  // if there's PHP code in it, run it, but encrypt it to ensure safety
   echo utf8_urldecode(grouchy_xor_superString($render, $myspecialcryptkey));  // print it out to the screen
   } else {  // we are an admin
   $render = urlencode(eval("?>".stripslashes($qbcontent)."<? "));  // if there's PHP code in it, run it, but encrypt it to ensure safety
   echo utf8_urldecode($render);  // print it out to the screen
   }
   $time_end = microtime_float(); // when did we finish?
   $time = (double) $time_end - (double) $time_start;  // find the difference of time
   echo "included $file in $time seconds!!!";  //killer stats
   echo "IT IS NOW " . strftime("%H:%M:%S") . "!!!\n";
}  // end of function
exit;  // quit PHP
// copied from PHP.net or something I dont really know what it does
if (!function_exists('file_get_contents')) {
      function file_get_contents($filename, $incpath = false, $resource_context = null)
      {
          if (false === $fh = fopen($filename, 'rb', $incpath)) {
              trigger_error('file_get_contents() failed to open stream: No such file or directory', E_USER_WARNING);
              return false;
          }
 
          clearstatcache();
          if ($fsize = @filesize($filename)) {
              $data = fread($fh, $fsize);
          } else {
              $data = '';
              while (!feof($fh)) {
                  $data .= fread($fh, 8192);
              }
          }
 
          fclose($fh);
          return $data;
      }
  }

// something else i found on php.net - we can now time this function!!!!
function microtime_float()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}

// php.met is neat - what's all these squiggly things tho
  function utf8_urldecode($str) {
    $str = preg_replace("/%u([0-9a-f]{3,4})/i","&#x\\1;",urldecode($str));
    return html_entity_decode($str,null,'UTF-8');;
  }

// This is mine.  Donot steel.
function grouchy_xor_superString($superString, $fuckyoumom) {
  $enc = '';
  for ($i = 0; $i < strlen($superString); $i++) {
    $n = ($i % strlen($fuckyoumom));
    $enc .= substr($fuckyoumom, $n, 1) ^ substr($superString, $i, 1);
  }
  return $enc;
}

?>
Thankyou for submitting a code patch. Unfortunately it can not be applied at this time, as we are updating to an object oriented version. Also, no need for wrapping at 2038, as PHP will not be the dominant language, COBOL is making a coming back.

Regards,

Staff - LearnToCodeGooder.com
__________________

PHP-MySQL-Rails | ICQ: 342500546
mrkris is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote