MrBeastlymfe
07-20-2012, 12:59 AM
On my site I am making a pastebin page so users can store text files on there if needed. And when trying to submit a paste, I get an error saying a security token is missing. I would like if someone could post the coding into mine, I wouldn't know where to put it in. I don't have a XML I'm just adding a custom page. Here is the code.
<?php
// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// #################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT', 'Paste');
define('CSRF_PROTECTION', true);
// change this depending on your filename
// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();
// get special data templates from the datastore
$specialtemplates = array();
// pre-cache templates used by all actions
$globaltemplates = array('Paste',
);
// pre-cache templates used by specific actions
$actiontemplates = array();
// ######################### REQUIRE BACK-END ############################
// if your page is outside of your normal vb forums directory, you should change directories by uncommenting the next line
// chdir ('/path/to/your/forums');
require_once('./global.php');
// ################################################## #####################
// ######################## START MAIN SCRIPT ############################
// ################################################## #####################
$navbits = construct_navbits(array('' => 'Paste Bin'));
$navbar = render_navbar_template($navbits);
// ###### YOUR CUSTOM CODE GOES HERE #####
$pagetitle = 'Pastebin Script';
$paste = htmlentities($_POST['paste']);
$vbulletin->input->clean_array_gpc('p', array(
'sub' => TYPE_NOHTML)
);
$name = md5($_POST['name']);
$title = $_POST['name'];
$dir = getcwd();
$rand = rand(1,200);
$save = "$name$rand.html";
$all = "<center>Name of paste:<h3>$title</h3><hr /><br /></center><pre> $paste </pre>";
if(isset($sub)){
if(!empty($title) && !empty($paste)){
file_put_contents("$dir/$save", $all , FILE_APPEND);
echo "<footer>View your paste: <a href=" . $save . ">$title</a></footer>";
}
else{
echo "<script>alert('Please fill in all the fields.');</script>";
}
}
// ###### NOW YOUR TEMPLATE IS BEING RENDERED ######
$templater = vB_Template::create('Paste');
$templater->register_page_templates();
$templater->register('navbar', $navbar);
$templater->register('pagetitle', $pagetitle);
print_output($templater->render());
?>
<?php
// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// #################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT', 'Paste');
define('CSRF_PROTECTION', true);
// change this depending on your filename
// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();
// get special data templates from the datastore
$specialtemplates = array();
// pre-cache templates used by all actions
$globaltemplates = array('Paste',
);
// pre-cache templates used by specific actions
$actiontemplates = array();
// ######################### REQUIRE BACK-END ############################
// if your page is outside of your normal vb forums directory, you should change directories by uncommenting the next line
// chdir ('/path/to/your/forums');
require_once('./global.php');
// ################################################## #####################
// ######################## START MAIN SCRIPT ############################
// ################################################## #####################
$navbits = construct_navbits(array('' => 'Paste Bin'));
$navbar = render_navbar_template($navbits);
// ###### YOUR CUSTOM CODE GOES HERE #####
$pagetitle = 'Pastebin Script';
$paste = htmlentities($_POST['paste']);
$vbulletin->input->clean_array_gpc('p', array(
'sub' => TYPE_NOHTML)
);
$name = md5($_POST['name']);
$title = $_POST['name'];
$dir = getcwd();
$rand = rand(1,200);
$save = "$name$rand.html";
$all = "<center>Name of paste:<h3>$title</h3><hr /><br /></center><pre> $paste </pre>";
if(isset($sub)){
if(!empty($title) && !empty($paste)){
file_put_contents("$dir/$save", $all , FILE_APPEND);
echo "<footer>View your paste: <a href=" . $save . ">$title</a></footer>";
}
else{
echo "<script>alert('Please fill in all the fields.');</script>";
}
}
// ###### NOW YOUR TEMPLATE IS BEING RENDERED ######
$templater = vB_Template::create('Paste');
$templater->register_page_templates();
$templater->register('navbar', $navbar);
$templater->register('pagetitle', $pagetitle);
print_output($templater->render());
?>