2010-02-01 4 views
0

J'essaie de trouver le code de sécurité dans ce php pour un mailer. S'il vous plaît pourriez-vous me dire quelles parties du code j'ai besoin de supprimer pour supprimer cela.formulaire de contact code de sécurité problème php? Comment supprimer le code?

Merci pour votre aide

<?php 
$adminemail = '[email protected]'; // type your actual email address in place of [email protected] 

$usesecimage = ''; // the path to a WSN Links, Gallery, KB or Forum install if you wish to borrow its security image prompt 

$autoresponse = ''; // type the URL of a text file which should be used as the autoresponder body text 

$controlvars = ' thankspage submitteremail ccsubmitter messagetosubmitter '; 
$messagetoadmin = "A user has filled out a form with this content: 


"; 

if (!isset($_POST['messagetosubmitter'])) $messagetosubmitter = "You have submitted a form with the content listed below. Your submission will be reviewed, please be patient in awaiting a response. 


"; 
else $messagetosubmitter = $_POST['messagetosubmitter']; 

while(list($key, $value) = each($_POST)) 
{ 
if (!stristr($controlvars, ' '. $key .' ')) 
{ 
    $messagetoadmin .= $key .': '. $value .' 

'; 
    $messagetosubmitter .= $key .': '. $value .' 

'; 
} 
} 
$submitter = $_POST['submitteremail']; 
if ($submitter == '') $submitter = '[email protected]'; 
if (strstr($submitter, "\n") || strlen($submitter) > 50) die("Begone, foul spammer."); 

if ($usesecimage) 
{ 
$curr_path = getcwd(); 
chdir($usesecimage);  // Go to the WSN directory 
require 'start.php'; 
if (isset($_REQUEST['seed'])) $seed = $_REQUEST['seed']; else $seed = false; 
$correct = securityimagevalue($seed); 
if (strtolower($_POST['securityimage']) != $correct) die("You did not type the value from the image correctly. Press the back button."); 
chdir($curr_path);  // Return to original directory 
} 

    session_start(); 
    if(empty($_POST['TermsOfBusiness'])) 
    { 
    error_reporting(0); 
    echo "You must agree to our Terms of Business. Please <a href='javascript: history.go(-1)'>click here</a> to return to the form"; 
    } 
    elseif(($_SESSION['security_code'] == $_POST['security_code']) && (!empty($_SESSION['security_code']))) { 

     mail("$adminemail, [email protected]", 'Form Submitted: '. stripslashes($_POST['subject']), stripslashes($messagetoadmin), 'From: '. $submitter); 
     unset($_SESSION['security_code']); 

    } else { 
     error_reporting(0); 
     echo "The security code you entered was incorrect, please click the back button on your browser to try again."; 
    } 

if ($_POST['ccsubmitter'] == 'yes') 
{ 
mail($submitteremail, 'Form Submitted: '. stripslashes($_POST['subject']), stripslashes($messagetosubmitter), 'From: '. $adminemail); 
} 
if ($autoresponse != '') 
{ 
$body = geturl($autoresponse); 
mail($submitteremail, 'Re: '. stripslashes($_POST['subject']), stripslashes($body), 'From: '. $adminemail); 
} 
header('Location: '. $_POST['thankspage']); 
// just in case redirect doesn't work 
die('<meta http-eqiv="refresh" content="0;url='. $_POST['thankspage'] .'">'); 

if (!function_exists('geturl')) 
{ 
function geturl($url) 
{ 
if (extension_loaded('curl')) 
{ 
    $user_agent = 'Mozilla/4.0 (compatible; MSIE 6.02; PHP)'; 
    $ch = curl_init(); 
    curl_setopt ($ch, CURLOPT_URL, $url); 
    curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent); 
    curl_setopt ($ch, CURLOPT_HEADER, false); 
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 15); // timeout after 5 seconds 
    curl_setopt ($ch, CURLOPT_TIMEOUT, 15); // timeout after 5 seconds 
    curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, true); 
    $result = curl_exec ($ch); 
    curl_close ($ch); 
// curl_error($ch); // for debugging 
    return $result; 
} 

if (version_compare("4.3.0", phpversion(), "<")) 
{ 
    $filecontents = @file_get_contents($url); 
} 
else 
{ 
    $fd = @fopen($url, 'rb'); 
    $filecontents = ""; 
    do 
    { 
    $data = @fread($fd, 8192); 
    if (strlen($data) == 0) 
    { 
    break; 
    } 
    $filecontents .= $data; 
    } while(true); 
    @fclose ($fd); 
} 
return $filecontents; 
} 
} 

?> 
+0

quelle erreur est-ce que cet affichage? – CuSS

Répondre

1

supprimer cette :)

EDIT: le elseif .. ne montrait pas code, corrigé.

elseif(($_SESSION['security_code'] == $_POST['security_code']) && (!empty($_SESSION['security_code']))) { 

     mail("$adminemail, [email protected]", 'Form Submitted: '. stripslashes($_POST['subject']), stripslashes($messagetoadmin), 'From: '. $submitter); 
     unset($_SESSION['security_code']); 

    } else { 
     error_reporting(0); 
     echo "The security code you entered was incorrect, please click the back button on your browser to try again."; 
    } 

et ce (Cameron Conner)

if ($usesecimage) 
{ 
$curr_path = getcwd(); 
chdir($usesecimage);  // Go to the WSN directory 
require 'start.php'; 
if (isset($_REQUEST['seed'])) $seed = $_REQUEST['seed']; else $seed = false; 
$correct = securityimagevalue($seed); 
if (strtolower($_POST['securityimage']) != $correct) die("You did not type the value from the image correctly. Press the back button."); 
chdir($curr_path);  // Return to original directory 
} 

donc, votre dossier doit rester comme ceci:

<?php 
$adminemail = '[email protected]'; // type your actual email address in place of [email protected] 

$usesecimage = ''; // the path to a WSN Links, Gallery, KB or Forum install if you wish to borrow its security image prompt 

$autoresponse = ''; // type the URL of a text file which should be used as the autoresponder body text 

$controlvars = ' thankspage submitteremail ccsubmitter messagetosubmitter '; 
$messagetoadmin = "A user has filled out a form with this content: 


"; 

if (!isset($_POST['messagetosubmitter'])) $messagetosubmitter = "You have submitted a form with the content listed below. Your submission will be reviewed, please be patient in awaiting a response. 


"; 
else $messagetosubmitter = $_POST['messagetosubmitter']; 

while(list($key, $value) = each($_POST)) 
{ 
if (!stristr($controlvars, ' '. $key .' ')) 
{ 
    $messagetoadmin .= $key .': '. $value .' 

'; 
    $messagetosubmitter .= $key .': '. $value .' 

'; 
} 
} 
$submitter = $_POST['submitteremail']; 
if ($submitter == '') $submitter = '[email protected]'; 
if (strstr($submitter, "\n") || strlen($submitter) > 50) die("Begone, foul spammer."); 

    session_start(); 
    if(empty($_POST['TermsOfBusiness'])) 
    { 
    error_reporting(0); 
    echo "You must agree to our Terms of Business. Please <a href='javascript: history.go(-1)'>click here</a> to return to the form"; 
    } 

if ($_POST['ccsubmitter'] == 'yes') 
{ 
mail($submitteremail, 'Form Submitted: '. stripslashes($_POST['subject']), stripslashes($messagetosubmitter), 'From: '. $adminemail); 
} 
if ($autoresponse != '') 
{ 
$body = geturl($autoresponse); 
mail($submitteremail, 'Re: '. stripslashes($_POST['subject']), stripslashes($body), 'From: '. $adminemail); 
} 
header('Location: '. $_POST['thankspage']); 
// just in case redirect doesn't work 
die('<meta http-eqiv="refresh" content="0;url='. $_POST['thankspage'] .'">'); 

if (!function_exists('geturl')) 
{ 
function geturl($url) 
{ 
if (extension_loaded('curl')) 
{ 
    $user_agent = 'Mozilla/4.0 (compatible; MSIE 6.02; PHP)'; 
    $ch = curl_init(); 
    curl_setopt ($ch, CURLOPT_URL, $url); 
    curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent); 
    curl_setopt ($ch, CURLOPT_HEADER, false); 
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 15); // timeout after 5 seconds 
    curl_setopt ($ch, CURLOPT_TIMEOUT, 15); // timeout after 5 seconds 
    curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, true); 
    $result = curl_exec ($ch); 
    curl_close ($ch); 
// curl_error($ch); // for debugging 
    return $result; 
} 

if (version_compare("4.3.0", phpversion(), "<")) 
{ 
    $filecontents = @file_get_contents($url); 
} 
else 
{ 
    $fd = @fopen($url, 'rb'); 
    $filecontents = ""; 
    do 
    { 
    $data = @fread($fd, 8192); 
    if (strlen($data) == 0) 
    { 
    break; 
    } 
    $filecontents .= $data; 
    } while(true); 
    @fclose ($fd); 
} 
return $filecontents; 
} 
} 

?> 
+0

Désolé, cela ne fonctionne pas du tout je reçois ce message Attention: session_start() [fonction.session-start]: Impossible d'envoyer le limiteur de cache de session - en-têtes déjà envoyés (sortie démarrée sur /home/blahblahblah.fr /public/mailer.php:1) dans /home/blahblahblah.co.uk/public/mailer.php sur la ligne 36 Avertissement: Impossible de modifier les informations d'en-tête - les en-têtes déjà envoyés par (sortie démarrée sur /home/blahblahblah.co .uk/public/mailer.php: 1) dans /home/blahblahblah.co.uk/public/mailer.php sur la ligne 52 –

+0

c'est normalement un bug charset, utilisez-vous mac ou win? – CuSS

4

La méthode de recherche binaire peut être utilisé ici, qui commence comme ceci:

  1. Supprimer la moitié inférieure du fichier; check: Est-ce que contient le "code de sécurité"?
  2. Non: Supprimer la moitié supérieure du fichier; check: Est-ce que contient le "code de sécurité"?
  3. Non: Retest-supposition: Etes-vous sûr que le code de sécurité est dans ce fichier?

Une fois que vous avez trouvé que la moitié du « code de sécurité » est:

  1. Supprimer la moitié inférieure de la moitié du dossier; check: Est-ce que contient le "code de sécurité"?
  2. Non: Supprimer le en haut moitié de la moitié du fichier; check: Est-ce que contient le "code de sécurité"?
  3. Non: Retest-supposition: Etes-vous sûr que le code de sécurité est dans cette moitié de ce fichier?

Répétez jusqu'à ce que vous avez trouvé la ligne (ou lignes) qui vous intéresse.

1

L'expansion sur la réponse CuSS .. Cela est inutile aussi.

if ($usesecimage) 
{ 
$curr_path = getcwd(); 
chdir($usesecimage);  // Go to the WSN directory 
require 'start.php'; 
if (isset($_REQUEST['seed'])) $seed = $_REQUEST['seed']; else $seed = false; 
$correct = securityimagevalue($seed); 
if (strtolower($_POST['securityimage']) != $correct) die("You did not type the value from the image correctly. Press the back button."); 
chdir($curr_path);  // Return to original directory 
} 
+0

merci :) pour vous;) – CuSS