NFOmation say you fail
include 'home.htm'; ?>
include 'about.htm'; ?>
include 'faq.htm'; ?>
include 'tos.htm'; ?>
include 'privacy.htm'; ?>
$iserror = false;
$err_append = '';
$ts = time();
$base = 'nfo_datastore';
if (isset($_POST['action']) && $_POST['action']=='uploadnfo')
{
if ($_FILES['nfofile']['error'] > 0)
{
$iserror = true;
$err_append = 'Return Code: ' . $_FILES['nfofile']['error'];
}
else
{
/*
echo 'Upload: ' . $_FILES['nfofile']['name'] . '
';
echo 'Type: ' . $_FILES['nfofile']['type'] . '
';
echo 'Size: ' . ($_FILES['nfofile']['size'] / 1024) . ' Kb
';
echo 'Temp file: ' . $_FILES['nfofile']['tmp_name'] . '
';
*/
if ($_FILES['nfofile']['size'] > 307200)
{
$iserror = true;
$err_append = ': file too big';
}
else
{
if ( strtolower(substr($_FILES['nfofile']['name'], -4, 4)) == '.nfo' || strtolower(substr($_FILES['nfofile']['name'], -4, 4)) == '.txt')
{
$file_good = false;
$file_type = get_file_type($_FILES['nfofile']['tmp_name']);
if (strpos($file_type, 'text/') !== false)
{
// file type is questionable, lets read first few bytes to check for some patterns
// right now we are only checking 7-zip
$fh = fopen($_FILES['nfofile']['tmp_name'], 'r');
$file_header = strtolower(fread($fh, 50));
fclose($fh);
if (
strpos($file_header, '.nfo is unavailable') === false
&&
strpos($file_header, '') === false
)
{
$file_good = true;
}
// $file_good = true;
}
else
{
if (strpos($file_type, 'application/octet-stream') !== false)
{
// file type is questionable, lets read first few bytes to check for some patterns
// right now we are only checking 7-zip
$fh = fopen($_FILES['nfofile']['tmp_name'], 'r');
$file_header = strtolower(fread($fh, 15));
fclose($fh);
if (
strpos($file_header, '7z') === false
&&
strpos($file_header, 'mz') === false
&&
strpos($file_header, '') === false
&&
strpos($file_header, '.nfo is unavailable') === false
)
{
$file_good = true;
}
}
}
if ($file_good)
{
$_FILES['nfofile']['name'] = str_replace(' ','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = preg_replace('/(?:\.|[\.]){2,}/', "\._", $_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('\\','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('/','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('\'','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('`','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('!','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('@','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('#','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('$','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('%','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('^','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('&','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('*','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('(','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace(')','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('_','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('"','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('+','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace(',','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('<','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('>','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace(';','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace(':','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('{','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('}','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('|','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('?','_',$_FILES['nfofile']['name']);
$_FILES['nfofile']['name'] = str_replace('~','_',$_FILES['nfofile']['name']);
if (file_exists($base . '/' . $ts . '.' . $_FILES['nfofile']['name']))
{
echo $ts . '.' . $_FILES['nfofile']['name'] . ' already exists. ';
}
else
{
move_uploaded_file($_FILES['nfofile']['tmp_name'], $base . '/' . $ts . '.' . $_FILES['nfofile']['name']);
header('Location: ' . 'info/' . urlencode($ts . '.' . $_FILES['nfofile']['name']), true, 303);
die();
}
}
else
{
$iserror = true;
$err_append = ': bad file, looks like your trying to pull a fast one on us by renaming a file or uploading a blacklisted file signature.';
}
}
else
{
$iserror = true;
$err_append = ': bad file extension';
}
}
}
}
mb_language('uni'); mb_internal_encoding('UTF-8');
header('Content-Type: text/html; charset=utf-8');
if ($iserror === true)
{
$mode = 'error';
}
else
{
$mode = 'home';
if (isset($_GET['error']))
{
$iserror = true;
$mode = 'error';
if (isset($_GET['error-type']))
{
$err_append = ' ('.nl2br(htmlspecialchars(addslashes($_GET['error-type']))).')';
}
}
}
// have to use this since mime-magic is depricated and did not work
function get_file_type($file) {
if(function_exists('shell_exec') === TRUE) {
$dump = shell_exec(sprintf('file -bi %s', $file));
$info = explode(';', $dump);
return $info[0];
}
return FALSE;
}
?>
NFOmation say you fail
include 'home.htm'; ?>
include 'about.htm'; ?>
include 'faq.htm'; ?>
include 'tos.htm'; ?>
include 'privacy.htm'; ?>