osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Un bot visite plusieurs fois par jour create_account.php
gotcha5832
posté 14 Sep 2011, 09:03
Message #1


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 343
Inscrit : 27-February 08
Lieu : lune
Membre no 20966



Salut à tous.

Voilà depuis un moment j'ai un robot qui viens plusieurs fois par jours sur create_account.php

Ces ip change mais sont connus en provenance de chine

Code
Order Allow,Deny
Allow from all
Deny from 222.186.24.99, 117.41.185.111, 222.186.23, 222.186.24, 222.186.25, 222.186.26


Le soucis c'est a chaque fois il reviens avec une autre IP.

Il ne crée pas de compte, mais je vous pas l'interet qu'il revienne tous le temps.
En revanche cette semaine j'ai eu un phenomene très très surpenant.

J'ai recu un "Undelivered Mail Returned to Sender"
Avec le mail de creation de compte client, riens d'exceptionnelle un client a mal rentrée son mail MAIS:
- Le compte n'etait pas rentrée et pas de trace du compte sur le site et dans la base
- Le compte était crée avec un adresse mail d'un fournisseur d'acces chinois comme par hasard?
Etonnant?

Par sécurité j'ai rajouter un mail copy vers une adresse mail admin dans create_account, juste après l'envoie du mail au client.
Ainsi si il refais le coup je receverais un mail.

Je vais renommer create_account

Mais avez vous déjà eu un cas similaire?
Des idées, des infos?


--------------------
Osc-2.2-ms2-FR
Os : Linux 2.6.24.7-desktop-2mnb
Version PHP : 5.2.5 (Zend : 2.2.0)
Base de données : MySQL 5.0.51a
Serveur HTTP : Apache/2.2.8 (Mandriva Linux/PREFORK-6.1mdv2008.1)
Go to the top of the page
 
gotcha5832
posté 15 Sep 2011, 04:17
Message #2


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 343
Inscrit : 27-February 08
Lieu : lune
Membre no 20966



Je sais pas ce que vous en pensez mais j'ai rajouter un test dans le fichier create_account

En rajoutant
&& ($navigation->path[sizeof($navigation->path)-1]['page']== FILENAME_CREATE_ACCOUNT )&&($navigation->path[sizeof($navigation->path)-2]['page'] == FILENAME_LOGIN )

Code
  if (isset($_POST['action']) && ($_POST['action'] == 'process') && isset($_POST['formid']) && ($_POST['formid'] == $sessiontoken) && ($navigation->path[sizeof($navigation->path)-1]['page']== FILENAME_CREATE_ACCOUNT )&&($navigation->path[sizeof($navigation->path)-2]['page'] == FILENAME_LOGIN )) {



Mais j'arrive toujours pas à comprendre comment un mail de confirmation de création de compte a pu être envoyé sans que le compte soit crée
Sachant

que l'on d'abord l'insert puis le mail
Code
   $address_id = tep_db_insert_id();
      tep_db_query("update " . TABLE_CUSTOMERS . " set customers_default_address_id = '" . (int)$address_id . "' where customers_id = '" . (int)$customer_id . "'");
      tep_db_query("insert into " . TABLE_CUSTOMERS_INFO . " (customers_info_id, customers_info_number_of_logons, customers_info_date_account_created) values ('" . (int)$customer_id . "', '0', now())");

      if (SESSION_RECREATE == 'True') {
        tep_session_recreate();
      }

      $customer_first_name = $firstname;
      $customer_default_address_id = $address_id;
      $customer_country_id = $country;
      $customer_zone_id = $zone_id;
      tep_session_register('customer_id');
      tep_session_register('customer_first_name');
      tep_session_register('customer_default_address_id');
      tep_session_register('customer_country_id');
      tep_session_register('customer_zone_id');
// reset session token
$sessiontoken = md5(tep_rand() . tep_rand() . tep_rand() . tep_rand());
[...]
      $email_text .= EMAIL_WELCOME . EMAIL_TEXT . EMAIL_CONTACT . EMAIL_WARNING;
      tep_mail($name, $email_address, EMAIL_SUBJECT, $email_text, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);


--------------------
Osc-2.2-ms2-FR
Os : Linux 2.6.24.7-desktop-2mnb
Version PHP : 5.2.5 (Zend : 2.2.0)
Base de données : MySQL 5.0.51a
Serveur HTTP : Apache/2.2.8 (Mandriva Linux/PREFORK-6.1mdv2008.1)
Go to the top of the page
 
nilegoff
posté 16 Dec 2011, 14:08
Message #3


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 193
Inscrit : 26-June 05
Lieu : Finistère Sud
Membre no 6327



Chez moi,
sur un de mes sites, il a réussi a créer des comptes mais a priori rien de plus et de temps en temps se reconnaecte sur ces comptes, ce qui m'a permis de reperer les comptes créer.
Le point commun entre ces comptes est que la ville de residence est NewYork ou Atlanta mais avec des pays différents.

J'ai cherché et n'est rien remarqué dans ma bdd et dans les fichiers coté serveur.

Si quelqu'un a des infos suplementaires...

nilegoff

Ce message a été modifié par nilegoff - 16 Dec 2011, 14:09.


--------------------
MS2.2 - AdminMS2fr 2.3 - All Products - Categorie tab - Thema 2.7 - Browse by categorie - Colissimo - Define Main PAge 1.3.3 - Low stock - Fckeditor 2.0 - Header tag Controllers - LoginBox 5.4 in header - Mbtable - Must agree to terms 1.5.3 - Order Ip Recorder - Ordomaxdropdown 1.2.3 - Products listing Columns - Prof Invoice - Quick stock update - send order html mail 5.4 - Stock status in product listing - Ultimate SEO URL V2.1 - Visible contries 1.1c - Atos - CCGV - Fianet - Xsell 2.2 - et d'autres encore...
Go to the top of the page
 
oneill
posté 8 Jan 2012, 10:05
Message #4


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 7634
Inscrit : 28-December 03
Lieu : Hollywood les Granits
Membre no 1773



Ou tu vires les Chinois de ces ip 222.184.0.0 à 222.191.255.255 et 117.40.0.0 à 117.43.255.255 dans ton cas

Radical mais bon...


--------------------
Go to the top of the page
 
FoxP2
posté 8 Jan 2012, 10:21
Message #5


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1665
Inscrit : 3-June 09
Membre no 25501



dans la 2.3, un jeton de session a été ajouté dans le fichier :
ligne 19 :
Code
  if (isset($HTTP_POST_VARS['action']) && ($HTTP_POST_VARS['action'] == 'process') && isset($HTTP_POST_VARS['formid']) && ($HTTP_POST_VARS['formid'] == $sessiontoken)) {

ligne 230 :
Code
      $sessiontoken = md5(tep_rand() . tep_rand() . tep_rand() . tep_rand());
Go to the top of the page
 

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 28th March 2024 - 17:15
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)