Anti Spam

  • Posts: 245
  • Thank you received: 13
14 years 2 weeks ago #3170

Salut Nico,

Vous savez aussi bien que moi que les Robots spamer sont un véritable fléaux, sur ma page d'inscription j'ai un recaptcha, sur votre page d'enregistrement il y en a pas ... Déjà pour un blog c'est barbant de gérer pour contrer les robots alors pour un site commercial, j'ose l'imaginer.

Votre mission si vous l'acceptez, et de mettre en place un système recaptcha,
Bien sur si vous ou l'un de vos hommes venait à disparaitre dans les codes, je ne pourrais être tenu responsable,je suis au courant de rien!
Comme d'hab c'est une suggestion, et ce message s'auto détruira si vous le trouvez nul. :laugh:


Être breton c'est un peu comme être dieu, mais en mieux!
Last edit: 14 years 2 weeks ago by Networlds.

Please Log in or Create an account to join the conversation.

  • Posts: 83024
  • Thank you received: 13403
  • MODERATOR
14 years 2 weeks ago #3171

Salut,


Euhh, sur notre page d'enregistrement, il y a un reCaptcha... Je ne vois pas de quoi vous voulez parler ?
D'ailleurs, depuis que nous l'avons mis en place nous n'avons plus du tout de spam sur le site.
Nous avons développer pour cela un plugin qui s'intègre avec Joomla 1.5, Joomla 1.6, HikaShop, AlphaRegistration, ccUsers et JomSocial :
www.hikashop.com/fr/support/documentatio...-with-recaptcha.html

Please Log in or Create an account to join the conversation.

  • Posts: 245
  • Thank you received: 13
14 years 2 weeks ago #3179

Ha... je n'avais pas vu votre plugins ^^ :blink: , J'ai un plugins aussi, mais pas le votre :laugh: .

Par contre, j'aimerais le mettre en français et le theme clean ^^

J'ai bon fouiller le script je ne vois pas ou je peux modifier/ajouter cela :(

Et pour terminer le plugins s'affiche tout en haut de mon site :blink: du CSS pour chaque page ^^


Être breton c'est un peu comme être dieu, mais en mieux!
Last edit: 14 years 2 weeks ago by Networlds.

Please Log in or Create an account to join the conversation.

  • Posts: 83024
  • Thank you received: 13403
  • MODERATOR
14 years 2 weeks ago #3180

Il n'y a pas d'option dans le plugin pour cela.

Par contre, cela peut s'ajouter facilement directement à votre template.
Il suffit d'ajouter un peut de code javascript dans le header:

<script type="text/javascript">
 var RecaptchaOptions = {
    theme : 'clean'
    lang : 'fr'
 };
 </script>
code.google.com/apis/recaptcha/docs/customization.html

Please Log in or Create an account to join the conversation.

  • Posts: 245
  • Thank you received: 13
14 years 2 weeks ago #3188

Je fouille depuis une heure la structure du code recaptcha API et Javascript ...
ce bout de code je l'ai vu mais un truc assez drole c'est le <text javascript> , il/je/nous l'invente ? oO
Nous avons aucun déclanchement javascript pour activer la déclaration de notre requette.
Leur tuto ne sont pas bien organisé, c'est un peu fouillis ^^

votre script est bien basé sur du javascript/API ?


Être breton c'est un peu comme être dieu, mais en mieux!

Please Log in or Create an account to join the conversation.

  • Posts: 83024
  • Thank you received: 13403
  • MODERATOR
14 years 2 weeks ago #3189

Nous utilisons leur API php qu'ils fournissent sur leur site.
Je suppose que leur javascript qui charge le captcha utilise cette variable js pour ensuite générer l'interface du captcha.

Please Log in or Create an account to join the conversation.

  • Posts: 245
  • Thank you received: 13
14 years 2 weeks ago #3200

Salut Nicolas,
La vache je galére sur ce coup ^^

Alors je ne peux utiliser votre plugins car vous utilisez une table dedans...

Hors j'ai beaucoup modifié les templates ... je vais faire autrement

... Lol j'ai pas posté ce message hier soir ^^ , je vais continuer ...

Bon je ne peux pas utiliser votre plugins car il utilise des tables ou css qui forcement on ne peut pas définir des emplacements virtuels ( a ma connaissance )

J'ai repris ce code de google

<head>
<script type="text/javascript">
 var RecaptchaOptions = {
    theme : 'clean',
    lang : 'fr'
 };
 </script>
</head>

<script type="text/javascript"
    src="http://www.google.com/recaptcha/api/challenge?k=your_public_key">
 </script>
 <noscript>
   <iframe src="http://www.google.com/recaptcha/api/noscript?k=your_public_key"
        height="300" width="500" frameborder="0"></iframe><br>
   <textarea name="recaptcha_challenge_field" rows="3" cols="40">
   </textarea>
   <input type="hidden" name="recaptcha_response_field"
        value="manual_challenge">
 </noscript>

J'ai retrouvé votre bout de code qui appel le script au passage :side:
En ajoutant le captcha :
A chaque fois il m'écrit ça :

Veuillez créer ou sélectionner une adresse

En faisant ça j'ai combiné mon ancien plugins et j'ai ajouté le recaptcha à hikashop, en evitant un conflit de double chargement de recaptchalib.php

Au bout d'une supression de mon template login_register et je recommence c'est pareil, là ça me gave un peu... je décide de supprimer l'enregistrement avec adresse, je supprime l'appel du chargement de template et la variable du bouton enregistrer pour le get adress

Je recommence mon test et ?

Veuillez créer ou sélectionner une adresse


Là j'ai besoin d'aide..

Pour résumer je veux une inscription rapide dans la page login-register mais je veux conserver mon flux de passage en caisse adresse.

Comment je peux faire.


Être breton c'est un peu comme être dieu, mais en mieux!

Please Log in or Create an account to join the conversation.

  • Posts: 245
  • Thank you received: 13
14 years 2 weeks ago #3202

Voici le script de ma page login_register, comme vous pouvez voire j'ai remis les tables par rapport au plugins pour savoir si il se metteait bien en place, et pour finir j'ai fait un reset pour rien car recaptcha se mettait juste en dessous à droit du logo :(

<?php
/**
 * @package		HikaShop for Joomla! 1.5
 * @version		1.4.0
 * @author		hikashop.com
 * @copyright	(C) 2010 HIKARI SOFTWARE. All rights reserved.
 * @license		http://www.hikashop.com/commercial_license.php
 */
defined('_JEXEC') or die('Restricted access');
?>
<table cellpadding="0" cellspacing="0" border="0" class="hikashop_contentpane">
<?php if(!$this->simplified_registration){ ?>
	<tr>
		<td class="key">
			<label id="namemsg" for="name">
				<?php echo JText::_( 'HIKA_NAME' ); ?>:
			</label>
		</td>
	  	<td class="reginp">
	  		<input type="text" name="data[register][name]" id="register_name" value="<?php echo $this->escape($this->mainUser->get( 'name' ));?>" class="inputbox required" maxlength="50" /> *
	  	</td>
	</tr>
	<tr>
		<td class="key">
			<label id="usernamemsg" for="username">
				<?php echo JText::_( 'HIKA_USERNAME' ); ?>:
			</label>
		</td>
		<td class="reginp">
			<input type="text" id="register_username" name="data[register][username]" value="<?php echo $this->escape($this->mainUser->get( 'username' ));?>" class="inputbox required validate-username" maxlength="25" /> *
		</td>
	</tr>
<?php }?>
<tr>
	<td class="key">
		<label id="emailmsg" for="email">
			<?php echo JText::_( 'HIKA_EMAIL' ); ?>:
		</label>
	</td>
	<td class="reginp">
		<input type="text" id="register_email" name="data[register][email]" value="<?php echo $this->escape($this->mainUser->get( 'email' ));?>" class="inputbox required validate-email" maxlength="100" /> *
	</td>
</tr>
<?php if(!$this->simplified_registration){ ?>
<tr>
	<td class="key">
		<label id="pwmsg" for="password">
			<?php echo JText::_( 'HIKA_PASSWORD' ); ?>:
		</label>
	</td>
  	<td class="reginp">
  		<input class="inputbox required validate-password" type="password" id="register_password" name="data[register][password]" value="" /> *
  	</td>
</tr>
<tr>
	<td class="key">
		<label id="pw2msg" for="password2">
			<?php echo JText::_( 'HIKA_VERIFY_PASSWORD' ); ?>:
		</label>
	</td>
	<td class="reginp">
		<input class="inputbox required validate-passverify" type="password" id="register_password2" name="data[register][password2]" value="" /> *
	</td>
</tr>
<tr>
<td class="key1"><label>Protection anti-spam. Veuillez saisir les deux mots.</label></td>
<td>
<div id="captcha">
<script type="text/javascript"
    src="http://www.google.com/recaptcha/api/challenge?k=6LexYbsSAAAAAEgInDLjDKTNWoI9o-lsftNLX2S5">
 </script>
 <noscript>
   <iframe src="http://www.google.com/recaptcha/api/noscript?k=6LexYbsSAAAAAEgInDLjDKTNWoI9o-lsftNLX2S5"
        height="300" width="500" frameborder="0"></iframe><br>
   <textarea name="recaptcha_challenge_field" rows="3" cols="40">
   </textarea>
   <input type="hidden" name="recaptcha_response_field"
        value="manual_challenge">
 </noscript>
</div>
</td>
</tr>
<?php }?>
	<?php 
		$this->setLayout('custom_fields');
		$this->type = 'user';
		echo $this->loadTemplate();
?>

</table>

<div class="terms">
		<?php echo JText::_( 'HIKA_REGISTER_REQUIRED' ); ?>
</div>

<input type="hidden" name="data[register][id]" value="0" />
<input type="hidden" name="data[register][gid]" value="0" />
<button class="readon" type="submit" onclick="if(hikashopCheckChangeForm('register','hikashop_checkout_form') && hikashopCheckChangeForm('user','hikashop_checkout_form')) return true; return false;" name="register"><span><?php echo JText::_('HIKA_REGISTER'); ?></span></button>


Être breton c'est un peu comme être dieu, mais en mieux!
Last edit: 14 years 2 weeks ago by Networlds.

Please Log in or Create an account to join the conversation.

  • Posts: 83024
  • Thank you received: 13403
  • MODERATOR
14 years 2 weeks ago #3222

Je ne vois pas pourquoi vous dites que le plugin utilise des tables. Il n'y a pas de tables... Le plugin parse le contenu de la page pour voir ou il peut se mettre et adapte son affichage (ajout d'une ligne dans le table déjà présent, ou ajout d'un div, ou ajout d'un span,etc).

C'est normal que cela ne fonctionne pas si vous ajoutez le code directement dans la vue sans utiliser le plugin. Il faut bien que le plugin vérifie les données à la sortie.

Nous allons faire plus simple et regarder pour ajouter des options à notre plugin pour la langue et le thème....

Please Log in or Create an account to join the conversation.

  • Posts: 245
  • Thank you received: 13
14 years 2 weeks ago #3226

Voila le contenu du plugins pour affichage :

Recherche positionnement:

$components['com_user'] = array('view' => array('register'),'lengthafter' => 200);

		$components['com_users'] = array('view' => array('registration'),'lengthafter' => 200, 'email' => 'jform\[email2\]', 'password' => 'jform\[password2\]');

		$components['com_alpharegistration'] = array('view' => array('register'),'lengthafter' => 250);

		$components['com_ccusers'] = array('view' => array('register'),'lengthafter' => 500);

		$components['com_virtuemart'] = array('view' => array('shop.registration'),'viewvar' => 'page','lengthafter' => 500);

		$components['com_hikashop'] = array('view' => array('checkout'),'viewvar' => 'ctrl', 'lengthafter' => 500 , 'tdclass' => 'key', 'email' => 'data\[register\]\[email\]','password' => 'data\[register\]\[password2\]');

		if(!isset($components[$option])) return;

Affichage:
if(preg_match('#(name="'.$after.'".{0,'.$components[$option]['lengthafter'].'}</tr>)#Uis',$body)){

			$return = '<tr class="recaptcha"><td valign="top">'.$subText.'</td><td>'.$return.'</td></tr>';

			$body = preg_replace('#(name="'.$after.'".{0,'.$components[$option]['lengthafter'].'}</tr>)#Uis','$1'.$return,$body,1);

			JResponse::setBody($body);

			return;

		}
		if(preg_match('#(name="'.$after.'".{0,'.$components[$option]['lengthafter'].'}</div>)#Uis',$body)){

			$return = '<div class="recaptcha"><label>'.$subText.'</label>'.$return.'</div>';

			$body = preg_replace('#(name="'.$after.'".{0,'.$components[$option]['lengthafter'].'}</div>)#Uis','$1'.$return,$body,1);

			JResponse::setBody($body);

			return;

		}
		if(preg_match('#(name="'.$after.'".{0,'.$components[$option]['lengthafter'].'}</p>)#Uis',$body)){

			$return = '<div class="recaptcha"><label>'.$subText.'</label>'.$return.'</div>';

			$body = preg_replace('#(name="'.$after.'".{0,'.$components[$option]['lengthafter'].'}</p>)#Uis','$1'.$return,$body,1);

			JResponse::setBody($body);

			return;

		}

		if(preg_match('#(name="'.$after.'".{0,'.$components[$option]['lengthafter'].'}</dd>)#Uis',$body)){

			$return = '<dt class="recaptcha"><label>'.$subText.'</label></dt><dd>'.$return.'</dd>';

			$body = preg_replace('#(name="'.$after.'".{0,'.$components[$option]['lengthafter'].'}</dd>)#Uis','$1'.$return,$body,1);

			JResponse::setBody($body);

			return;

		}

	 }

Suite à l'intégration (personnel, manuellement) j'avais une erreur avec l'adresse, la je contourne le tout en faisant le flux de passage en caisse en 4 étapes :)
Je test le tout et je vous tiens au courant...

J'avais pensé pour faire un plugins simple Hikashop:
dans le template login register:
if config== 1
<script type="text/javascript"
    src="http://www.google.com/recaptcha/api/challenge?k=your_public_key">
 </script>
 <noscript>
   <iframe src="http://www.google.com/recaptcha/api/noscript?k=your_public_key"
        height="300" width="500" frameborder="0"></iframe><br>
   <textarea name="recaptcha_challenge_field" rows="3" cols="40">
   </textarea>
   <input type="hidden" name="recaptcha_response_field"
        value="manual_challenge">

plugins dans le head:
<script type="text/javascript">
 var RecaptchaOptions = {
<si faisable>    
theme : '$theme',
    lang : '$lang'
 };
 </script>
$Key: public
switch: theme
etc.. etc..

Et mettre dans le plugins le code avec vos modification à mettre dans les pages désirés , Hors Hikashop ^^
<script type="text/javascript"
    src="http://www.google.com/recaptcha/api/challenge?k=$key">
 </script>
 <noscript>
   <iframe src="http://www.google.com/recaptcha/api/noscript?k=$key"
        height="300" width="500" frameborder="0"></iframe><br>
   <textarea name="recaptcha_challenge_field" rows="3" cols="40">
   </textarea>
   <input type="hidden" name="recaptcha_response_field"
        value="manual_challenge">
 </noscript>

C'est au plus simple est totalement modulable et personnalisable ^^
Pour le moment celui que j'utilise pour les pages register/contact c'est Joorecaptcha, choix avec ajax ou API ... Un petit coup d'oeil dans le script c'est pas mal ^^... il faut nettoyer le code par contre ...


Être breton c'est un peu comme être dieu, mais en mieux!
Last edit: 14 years 2 weeks ago by Networlds.

Please Log in or Create an account to join the conversation.

  • Posts: 83024
  • Thank you received: 13403
  • MODERATOR
14 years 2 weeks ago #3234

Salut,

Nous venons de mettre une nouvelle version du plugin en ligne qui permet de sélectionner le thème dans les options et qui détecte automatiquement la langue utilisée.

Please Log in or Create an account to join the conversation.

  • Posts: 245
  • Thank you received: 13
14 years 2 weeks ago #3235

Impec, il manque plus que la langue ptdr :laugh:

Cool pour le theme sinon ...

Blaque à part, voilà mon template register_login:

dans je clique sur le boutton enregistrer j'ai une erreur .

Quand je clique sur le bouton enregistrer j'ai le script qui s'execute en disant que mes cases sont vide OK
Je remplie le formulaire le script n'agie plus et si je tape entré :

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, This email address is being protected from spambots. You need JavaScript enabled to view it. and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

<?php
/**
 * @package		HikaShop for Joomla! 1.5
 * @version		1.4.0
 * @author		hikashop.com
 * @copyright	(C) 2010 HIKARI SOFTWARE. All rights reserved.
 * @license		http://www.hikashop.com/commercial_license.php
 */
defined('_JEXEC') or die('Restricted access');
?>
<table cellpadding="0" cellspacing="0" border="0" class="hikashop_contentpane">
<?php if(!$this->simplified_registration){ ?>
	<tr>
		<td class="key">
			<label id="namemsg" for="name">
				<?php echo JText::_( 'HIKA_NAME' ); ?>:
			</label>
		</td>
	  	<td class="reginp">
	  		<input type="text" name="data[register][name]" id="register_name" value="<?php echo $this->escape($this->mainUser->get( 'name' ));?>" class="inputbox required" maxlength="50" /> *
	  	</td>
	</tr>
	<tr>
		<td class="key">
			<label id="usernamemsg" for="username">
				<?php echo JText::_( 'HIKA_USERNAME' ); ?>:
			</label>
		</td>
		<td class="reginp">
			<input type="text" id="register_username" name="data[register][username]" value="<?php echo $this->escape($this->mainUser->get( 'username' ));?>" class="inputbox required validate-username" maxlength="25" /> *
		</td>
	</tr>
<?php }?>
<tr>
	<td class="key">
		<label id="emailmsg" for="email">
			<?php echo JText::_( 'HIKA_EMAIL' ); ?>:
		</label>
	</td>
	<td class="reginp">
		<input type="text" id="register_email" name="data[register][email]" value="<?php echo $this->escape($this->mainUser->get( 'email' ));?>" class="inputbox required validate-email" maxlength="100" /> *
	</td>
</tr>
<?php if(!$this->simplified_registration){ ?>
<tr>
	<td class="key">
		<label id="pwmsg" for="password">
			<?php echo JText::_( 'HIKA_PASSWORD' ); ?>:
		</label>
	</td>
  	<td class="reginp">
  		<input class="inputbox required validate-password" type="password" id="register_password" name="data[register][password]" value="" /> *
  	</td>
</tr>
<tr>
	<td class="key">
		<label id="pw2msg" for="password2">
			<?php echo JText::_( 'HIKA_VERIFY_PASSWORD' ); ?>:
		</label>
	</td>
	<td class="reginp">
		<input class="inputbox required validate-passverify" type="password" id="register_password2" name="data[register][password2]" value="" /> *
	</td>
</tr>



<?php }?>

</table>

<div class="terms">
		<?php echo JText::_( 'HIKA_REGISTER_REQUIRED' ); ?>
</div>


<input type="hidden" name="data[register][id]" value="0" />

<input type="hidden" name="data[register][gid]" value="0" />
<div class="readon"><input class="button validate" type="submit" onclick="if(hikashopCheckChangeForm('register','hikashop_checkout_form')) return true; return false;" name="register" value="<?php echo JText::_('HIKA_REGISTER'); ?>"/></div>

J'ai retiré le formulaire adresse et field complèmetaire car j'en veux pas dans la page enregistrement ... mais ça XDfQet♫►♥2j○3▀♦ merde à donf

Une solution ?


Être breton c'est un peu comme être dieu, mais en mieux!

Please Log in or Create an account to join the conversation.

  • Posts: 83024
  • Thank you received: 13403
  • MODERATOR
14 years 2 weeks ago #3236

Plutot que de changer la vue, pourquoi ne pas tout simplement dépublier les champs personnalisés ? Car même si vous supprimez l'HTML et l'appel au javascript qui vérifie les champs, le controlleur à l'arrivée vérifie également les données. C'est pour éviter tout hack et de toute façon, en utilisation normal, les données envoyées au serveur sont vérifiées par le javascript.

Pour le plugin, il gère aussi les langues. Pas besoin d'option pour cela. La langue de joomla est utilisée automatiquement si elle est supportée par recaptcha. Sinon, l'anglais est utilisé.

Please Log in or Create an account to join the conversation.

  • Posts: 245
  • Thank you received: 13
14 years 2 weeks ago #3237

C'est bon j'ai trouvé XD

Par contre je préfére intégrer mon recaptcha directement...


Le l'ai mis ici

<td class="key">
		<label id="pw2msg" for="password2">
			<?php echo JText::_( 'HIKA_VERIFY_PASSWORD' ); ?>:
		</label>
	</td>
	<td class="reginp">
		<input class="inputbox required validate-passverify" type="password" id="register_password2" name="data[register][password2]" value="" /> *
	</td>
 <tr> 
<td class="key1"><label>Protection anti-spam. Veuillez saisir les deux mots.*</label></td> 
<td> 
<div id="captcha"> 
<script type="text/javascript" 
    src="http://www.google.com/recaptcha/api/challenge?k=6LexYbsSAAAAAEgInDLjDKTNWoI9o-lsftNLX2S5"> 
 </script> 
 <noscript> 
   <iframe src="http://www.google.com/recaptcha/api/noscript?k=6LexYbsSAAAAAEgInDLjDKTNWoI9o-lsftNLX2S5" 
        height="300" width="500" frameborder="0"></iframe><br> 
   <textarea name="recaptcha_challenge_field" rows="3" cols="40"> 
   </textarea> 
<input type="hidden" name="recaptcha_response_field" value="manual_challenge"> 
    </noscript> 
</div> 
</td> 
</tr> 

<?php }?>

</table>

Le hic c'est que quand on clique sur le boutton c'est validé alors que si je met avec votre plugins, il me reclame le recaptcha.

Le gros soucis c'est que l'afichage de votre plugins est tout en haut des pages et il faut obligatoirement que je lui definisse sa place ^^

Les pages sont dynamique, je ne peux pas mettre une place définitif ^^


Être breton c'est un peu comme être dieu, mais en mieux!

Please Log in or Create an account to join the conversation.

  • Posts: 245
  • Thank you received: 13
14 years 2 weeks ago #3238

excuse je n'avais pas vu la réponse ... je reviens vers 17H15 ... Je reprendrais cette réponse ;)


Être breton c'est un peu comme être dieu, mais en mieux!

Please Log in or Create an account to join the conversation.

  • Posts: 83024
  • Thank you received: 13403
  • MODERATOR
14 years 2 weeks ago #3239

Je ne vois pas trop pourquoi le captcha serait "tout en haut". Pourrais-je avoir un lien vers la page en question ?
De notre coté, le plugin affiche correctement le captcha au bon endroit.

Please Log in or Create an account to join the conversation.

  • Posts: 245
  • Thank you received: 13
14 years 2 weeks ago #3241

sebastien-celtalys.fr/votre-compte?task=register

sebastien-celtalys.fr/shop/checkout

En faite il fallait supprimer ces deux ligne :

<input type="hidden" name="data[register][id]" value="0" />

<input type="hidden" name="data[register][gid]" value="0" />

certainement pour fields/ et address ^^


Être breton c'est un peu comme être dieu, mais en mieux!
Last edit: 14 years 2 weeks ago by Networlds.

Please Log in or Create an account to join the conversation.

  • Posts: 83024
  • Thank you received: 13403
  • MODERATOR
14 years 2 weeks ago #3242

Vous avez ce CSS dans le fichier sebastien-celtalys.fr/templates/rt_paradox_j15/css/joomla.css :

#recaptcha_widget_div {
    position: absolute;
    top: -140px;
}
C'est à cause de cela que le captcha n'est pas à sa place. Si vous supprimez ce CSS cela s'affiche comme il faut

Please Log in or Create an account to join the conversation.

  • Posts: 245
  • Thank you received: 13
14 years 2 weeks ago #3244

:blush: Bin zut alors j'l'avais pas vu celui-là ^^

Bon Bin autant pour moi ^^ ...

Je l'aurais un jour,
Je l'aurais!

:laugh:


Être breton c'est un peu comme être dieu, mais en mieux!

Please Log in or Create an account to join the conversation.

Time to create page: 0.073 seconds
Powered by Kunena Forum