Fork me on GitHub




(1) 2 »


[Securityimage] - Sécurité de la page Recommandez-nous
Guest_
B'jour,

J'utilise le module Pages (v 1.16) et notamment la page Informer un ami.

Je ne vois aucun code de sécurité et je voudrais être certain qu'il n'y a aucun risque de spam.

Ce formulaire qui permet aux visiteurs (anonymes dans mon cas) de recommander le site comporte 4 champs de saisie :
- le nom de l'émetteur
- l'e-mail de l'émetteur
- le nom du destinataire
- le messsage

Merci de votre réponse

@+

Posté le : 21/06/2007 17:19
Partager Twitter Partagez cette article sur GG+
Re: [Pages] - Sécurité de la page Recommandez-nous
Supporter Xoops
Inscrit: 09/01/2005 13:37
De Breizh
Messages: 16972
Bonjour,

big risque de spam

A +

Posté le : 21/06/2007 23:13

La connaissance s'accroît quand on la partage ...
Partager Twitter Partagez cette article sur GG+
Re: [Pages] - Sécurité de la page Recommandez-nous
Guest_
B'soir,

Merci pour cette précision. Je vais voir s'il est possible de sécuriser ce formulaire à le module captcha de Dugris.

@+

Posté le : 21/06/2007 23:48
Partager Twitter Partagez cette article sur GG+
Re: [Pages] - Sécurité de la page Recommandez-nous
Xoops accro
Inscrit: 16/08/2005 19:46
De Nanterre
Messages: 2331
Bonjour,
Dans ce cas, même le "recommandez-nous" de l'info du site est à sécuriser?
Si tu as trouvé le fichier pour mettre la sécurité, je serai preneur..
Il semblerai que le hack doit être placer vers la ligne 250 du fichier "index.php" mais c'est pô sur.
Bonne journée

Posté le : 22/06/2007 06:22

eparcyl... tranquille.
Partager Twitter Partagez cette article sur GG+
Re: [Pages] - Sécurité de la page Recommandez-nous
Xoops accro
Inscrit: 25/02/2004 00:20
De Région parisienne
Messages: 2526
Pour le block systeme : "Infos du site"

case "friend":
    if ( !
$GLOBALS['xoopsSecurity']->check() || !isset($_POST['op']) || $_POST['op'] == "sendform") {

        [
color=CC0000][b]
        
// Hack SecurityImage by DuGris
        
include_once(XOOPS_ROOT_PATH "/class/xoopsformloader.php");
        if ( 
defined('SECURITYIMAGE_INCLUDED') ) {
            
$security_image = new SecurityImage_SECURITYIMAGE_GETCODE );
        }
        
// Hack SecurityImage by DuGris
        
[/b][/color]

        if ( 
$xoopsUser ) {
            
$yname $xoopsUser->getVar("uname"'e');
            
$ymail $xoopsUser->getVar("email"'e');
            
$fname "";
            
$fmail "";
        } else {
            
$yname "";
            
$ymail "";
            
$fname "";
            
$fmail "";
        }
        
printCheckForm();
        echo 
'</head><body>';
        echo 
"<div class='errorMsg'>".implode('<br />'$GLOBALS['xoopsSecurity']->getErrors())."</div>";
        echo 
'
        <form action="'
.XOOPS_URL.'/misc.php" method="post" onsubmit="return checkForm();"><table  width="100%" class="outer" cellspacing="1"><tr><th colspan="2">'._MSC_RECOMMENDSITE.'</th></tr>';
        echo 
"<tr><td class='head'>
                <input type='hidden' name='op' value='sendsite' />
                <input type='hidden' name='action' value='showpopups' />
                <input type='hidden' name='type' value='friend' />n"
;

        [
color=CC0000][b]
        echo 
_MSC_YOURNAMEC."</td><td class='even'><input type='text' name='yname' value='$yname' id='yname' /></td></tr>
                <tr><td class='head'>"
._MSC_YOUREMAILC."</td><td class='odd'><input type='text' name='ymail' value='".$ymail."' id='ymail' /></td></tr>
                <tr><td class='head'>"
._MSC_FRIENDNAMEC."</td><td class='even'><input type='text' name='fname' value='$fname' id='fname' /></td></tr>
                <tr><td class='head'>"
._MSC_FRIENDEMAILC."</td><td class='odd'><input type='text' name='fmail' value='$fmail' id='fmail' /></td></tr>";

        
// Hack SecurityImage by DuGris
        
if ( defined('SECURITYIMAGE_INCLUDED') && $security_image->render()) {
            echo 
"<tr><td class='head'>" _SECURITYIMAGE_CODE "</td><td class='odd'>" $security_image->render() . "</td></tr>";
        }
        
// Hack SecurityImage by DuGris
        
echo "<tr><td class='head'>&nbsp;</td><td class='even'><input type='submit' value='"._SEND."' />&nbsp;<input value='"._CLOSE."' type='button' onclick='javascript:window.close();' />".$GLOBALS['xoopsSecurity']->getTokenHTML()."</td></tr></table></form>n";
        [/
b][/color]
        
$closebutton 0;
    } elseif (
$_POST['op'] == "sendsite") {
        [
color=CC0000][b]
        
// Hack SecurityImage by DuGris
        
include_once(XOOPS_ROOT_PATH "/class/xoopsformloader.php");
        if ( 
defined('SECURITYIMAGE_INCLUDED')     && !SecurityImage::CheckSecurityImage() ) {
            
redirect_header'javascript:history.go(-1)' 1_SECURITYIMAGE_ERROR ) ;
        }
        
// Hack SecurityImage by DuGris
        
[/b][/color]

        
$myts =& MyTextsanitizer::getInstance();
        if ( 
$xoopsUser ) {
            
$ymail $xoopsUser->getVar("email");
        } else {
            
$ymail = isset($_POST['ymail']) ? $myts->stripSlashesGPC(trim($_POST['ymail'])) : '';
        }
        if ( !isset(
$_POST['yname']) || trim($_POST['yname']) == "" || $ymail == '' || !isset($_POST['fname']) || trim($_POST['fname']) == ""  || !isset($_POST['fmail']) || trim($_POST['fmail']) == '' ) {
            
redirect_header(XOOPS_URL."/misc.php?action=showpopups&type=friend&op=sendform",2,_MSC_NEEDINFO);
            exit();
        }
        
$yname $myts->stripSlashesGPC(trim($_POST['yname']));
        
$fname $myts->stripSlashesGPC(trim($_POST['fname']));
        
$fmail $myts->stripSlashesGPC(trim($_POST['fmail']));
        if (!
checkEmail($fmail) || !checkEmail($ymail)  || preg_match"/[\0-\31]/"$yname ) ) {
            
$errormessage _MSC_INVALIDEMAIL1."<br />"._MSC_INVALIDEMAIL2."";
            
redirect_header(XOOPS_URL."/misc.php?action=showpopups&type=friend&op=sendform",2,$errormessage);
            exit();
        }
        
$xoopsMailer =& getMailer();
        
$xoopsMailer->setTemplate("tellfriend.tpl");
        
$xoopsMailer->assign("SITENAME"$xoopsConfig['sitename']);
        
$xoopsMailer->assign("ADMINMAIL"$xoopsConfig['adminmail']);
        
$xoopsMailer->assign("SITEURL"XOOPS_URL."/");
        
$xoopsMailer->assign("YOUR_NAME"$yname);
        
$xoopsMailer->assign("FRIEND_NAME"$fname);
        
$xoopsMailer->setToEmails($fmail);
        
$xoopsMailer->setFromEmail($ymail);
        
$xoopsMailer->setFromName($yname);
        
$xoopsMailer->setSubject(sprintf(_MSC_INTSITE,$xoopsConfig['sitename']));
        
//OpenTable();
        
if ( !$xoopsMailer->send() ) {
            echo 
$xoopsMailer->getErrors();
        } else {
            echo 
"<div><h4>"._MSC_REFERENCESENT."</h4></div>";
        }
        
//CloseTable();
    
}
break;


Concernant le module page, je regarderai plus tard, si vous ne trouvez pas la solution !!!

Posté le : 22/06/2007 13:46
Partager Twitter Partagez cette article sur GG+
Re: [Pages] - Sécurité de la page Recommandez-nous
Xoops accro
Inscrit: 25/02/2004 00:20
De Région parisienne
Messages: 2526
il faut remplacer (script removed) par j a v a s c r i p t : sans les espaces

Posté le : 22/06/2007 13:53
Partager Twitter Partagez cette article sur GG+
Re: [Pages] - Sécurité de la page Recommandez-nous
Xoops accro
Inscrit: 16/08/2005 19:46
De Nanterre
Messages: 2331
Merci Mr DuGris pour l'info du site, cela fonctionne comme sur des roulettes...

Quand à page, j'ai fais des essais en m'inspirant de hack pour formulaire..., j'ai aussi essayé de trouver des endroits dans les lignes concernant les envoi mail "?op=refer" du fichier index.php.

Mais... bon... comme d'habitude...

Voyons si Mister Burning à trouvé une piste....
Bonne soirée

Posté le : 22/06/2007 17:51

eparcyl... tranquille.
Partager Twitter Partagez cette article sur GG+
Re: [Pages] - Sécurité de la page Recommandez-nous
Guest_
Ben pour l'instant j'ai pas cherché mais je vais regardé ce soir (tard)

@+

Posté le : 22/06/2007 18:38
Partager Twitter Partagez cette article sur GG+
Re: [Pages] - Sécurité de la page Recommandez-nous
Xoops accro
Inscrit: 25/02/2004 00:20
De Région parisienne
Messages: 2526
Encore une procédure différente !!!
Le module page n'utilise pas la class formulaire de Xoops, mais les templates !!!

Alors voici le code à ajouter dans le fichier index.php
switch ($op)
{
    case 
"refersend":
    [
color=CC0000][b]
    
// Hack SecurityImage by DuGris
    
include_once(XOOPS_ROOT_PATH "/class/xoopsformloader.php");
    if ( 
defined('SECURITYIMAGE_INCLUDED') && !SecurityImage::CheckSecurityImage() ) {
        
redirect_header'javascript:history.go(-1)' 1_SECURITYIMAGE_ERROR ) ;
    }
    
// Hack SecurityImage by DuGris
    
[/b][/color]

    include 
XOOPS_ROOT_PATH "/class/xoopsmailer.php";

    ...
    ...
    ...
    ...

    exit();
    break;

    case 
"refer":

    
$xoopsOption['template_main'] = 'pages_refer.html';

    Global 
$xoopsConfig$xoopsDB$xoopsModuleConfig$xoopsUser;

    
$usersblurb '';

    
$referfriend = array();
    
$result $xoopsDB->query("SELECT * FROM " $xoopsDB->prefix($xoopsModule->dirname()."_refer") . "");
    list(
$titlerefer$chanrefheadline$submenuitem$mainpage$referpagelogo$emailaddress$usersblurb$defblurb$smiley$xcodes$breaks$html$privacy$emailcheck$privacy_statement) = $xoopsDB->fetchrow($result);

    
$html = ($html == 1) ? 1;
    
$smiley = ($smiley == 1) ? 1;
    
$xcodes = ($xcodes == 1) ? 1;
    
$breaks = ($breaks == 0) ? 0;
    
$referfriend['textlink'] = $myts->makeTareaData4Show($titlerefer);
    
$referfriend['chanrefheadline'] = $myts->displayTarea($chanrefheadline$html$smiley$smiley1$breaks);
    
$referfriend['path'] = $xoopsModuleConfig['uploaddir'];
    
$referfriend['linkpagelogo'] = ($referpagelogo == "blank.png" || !$referpagelogo) ? '' $myts->htmlSpecialChars($referpagelogo);

// lien de modification

if (is_object($xoopsUser)) {
    
$xoopsModule XoopsModule::getByDirname($xoopsModule->dirname());
    if (
$xoopsUser->isAdmin($xoopsModule->mid())) {
        
$adminlink XOOPS_URL "/modules/" $xoopsModule->dirname() . "/admin/index.php?op=refer";
        
$xoopsTpl->assign('adminlink'"<a href='".$adminlink."'> <img src='".XOOPS_URL "/modules/" $xoopsModule->dirname() . "/Image/kedit.gif' alt='"._MD_MODIF."'> "._MD_MODIF." </a>");
    } else 
$xoopsTpl->assign('adminlink','');
}

//

    
if ($emailaddress && is_object($xoopsUser))
    {
        
$referfriend['uname'] = $xoopsUser->getVar('uname');
        
$referfriend['emailaddy'] = $xoopsUser->getVar('email');
    }

    if (
$usersblurb == 1)
    {
        
$referfriend['usersblurb'] = $myts->makeTareaData4Show($usersblurb);
        
$referfriend['defblurb'] = $myts->makeTareaData4Show($defblurb);
    }

    if (
$privacy == 1)
    {
        
$referfriend['privacy_statement'] = $myts->displayTarea($privacy_statement1$smiley$smiley1$breaks);
    }

    
$xoopsTpl->assign('referfriend'$referfriend);
    
$xoopsTpl->assign('lang_sendername' _MD_SENDERNAME);
    
$xoopsTpl->assign('lang_senderemail' _MD_SENDEREMAIL);
    
$xoopsTpl->assign('lang_recipname' _MD_RECPINAME);
    
$xoopsTpl->assign('lang_reciptremail' _MD_RECPIEMAIL);
    
$xoopsTpl->assign('lang_writeblurb' _MD_WRITEBLURB);
    
$xoopsTpl->assign('lang_linktous' $myts->makeTareaData4Show($titlerefer));
    
$xoopsTpl->assign('lang_send' _MD_SEND);
    
$xoopsTpl->assign('lang_clear' _MD_CLEAR);


    [
color=CC0000][b]
    
// Hack SecurityImage by DuGris
    
include_once(XOOPS_ROOT_PATH "/class/xoopsformloader.php");
    if ( 
defined('SECURITYIMAGE_INCLUDED') ) {
        
$security_image = new SecurityImage_SECURITYIMAGE_GETCODE );
        if ( 
$security_image->render() ) {
            
$xoopsTpl->assign('lang_securityimage'_SECURITYIMAGE_CODE);
            
$xoopsTpl->assign('input_securityimage' $security_image->render() );
        }
    }
    
// Hack SecurityImage by DuGris
    
[/b][/color]

    
display_menus();

    break;


Ensuite, il faut modifier le template : pages_refer.html

<{$adminlink}>
<
br />
<{if 
$referfriend.linkpagelogo }>
<
div align="center">
    <
div><img src='<{$xoops_url}>/<{$referfriend.path}>/<{$referfriend.linkpagelogo}>' name='image' id='image' alt='' /></div>
</
div>
<{/if}>

<
div align"center">
  <
h3><{$lang_linktous}></h3>
</
div>
<
div align"left" style="margin-left: 16px;"><{$referfriend.chanrefheadline}></div>
<
br />
<
br />

<
form name 'refer'  action='index.php?op=refersend' method 'post'>
  <
div align 'center'><b><{$lang_sendername}></b><br />
    <
input type='text' name='uname' size='40' maxlength='50' value'<{ $referfriend.uname }>' /></div>
  <
div align 'center'><b><{$lang_senderemail}></b><br />
    <
input type='text' name='email' size='40' maxlength='50' value'<{ $referfriend.emailaddy }>' /></div>
<
br />
  <
div align 'center'><b><{$lang_recipname}></b><br />
    <
input type='text' name='runame' size='40' maxlength='50' value'' /></div>
  <
div align 'center'><b><{$lang_reciptremail}></b><br />
    <
input type='text' name='remail' size='40' maxlength='50' value'' /></div>
<
br />
<{if 
$referfriend.usersblurb }>
<
div align 'center'><b><{$lang_writeblurb}></b><br />
    <
textarea name="message" cols="60" rows="10"><{ $referfriend.defblurb }>
</
textarea>
</
div>
<
br />
<{/if}>

[
color=CC0000][b]
<!-- 
Hack SecurityImage by DuGris-->
    <
br />
    <
div align ="center">
    <
b><{$lang_securityimage}></b><br />
    <{
$input_securityimage}>
    </
div>
<!-- 
Hack SecurityImage by DuGris-->
[/
b][/color]

<
br />
<
div align ="center">
<
input type 'submit' value '<{$lang_send}>' >
 <
input type 'reset' value '<{$lang_clear}>' >
</
div>
</
form>
<
br />
<
div align"center"><{$referfriend.privacy_statement}></div>

<{if 
$chanlink }>
<
div align="center" nowrap:>|&nbsp;<{foreach item=chanlink from=$chanlink}><a href="index.php<{$chanlink.id}>"><{$chanlink.pagetitle}></a>&nbsp;|
    <{/foreach}>
</
div><br />
<{/if}>

Posté le : 22/06/2007 19:09
Partager Twitter Partagez cette article sur GG+
Re: [Pages] - Sécurité de la page Recommandez-nous
Xoops accro
Inscrit: 16/08/2005 19:46
De Nanterre
Messages: 2331
MERCIIIIiiii !!!
Encore une fois, monseigneur DuGris à fait un super fort
cela fonctionne du tonnerre

Pour une fois, j'avais réussi pour l'index.php..
C'est le coup du template qui ma recaler

Super merci et bonne soirée

Posté le : 22/06/2007 19:41

eparcyl... tranquille.
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
(1) 2 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

26 Personne(s) en ligne (21 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 26 | Plus ...