Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3088 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Bases de données HS : Trop d'utilisateurs ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Bases de données HS : Trop d'utilisateurs ?

n°2504824
Vosges88
Posté le 15-08-2025 à 17:15:46  profilanswer
 

Bonjour,
Mes BDD Free ne répondent plus :
 
Avec ce genre de message :
 
#1203 - User ..... already has more than 'max_user_connections' active connections
 
Et c'est tout le site qui est inaccessible avec Filezila, chrome, edge
 
Vous auriez une solution ?

mood
Publicité
Posté le 15-08-2025 à 17:15:46  profilanswer
 

n°2504825
TotalRecal​l
Posté le 15-08-2025 à 18:01:44  profilanswer
 

T'aurais pas un code moisi qui laisse des connexions ouvertes par milliers ?

 

Ah et évidemment fais un
SHOW VARIABLES LIKE 'max_user_connections'
(ou truc du genre) pour voir si par hasard la valeur n'aurait pas été forcée à 1 ou je sais pas quoi...


Message édité par TotalRecall le 15-08-2025 à 18:03:41

---------------
Topic .Net - C# @ Prog
n°2504827
mechkurt
Posté le 16-08-2025 à 08:00:43  profilanswer
 

+1 avec TotalRecall, c'est quoi comme site ?
 
Les pages Free on toujours été super limité en terme de puissance, surtout niveau sql.
Et comme c'est du mutualisé, ça peut aussi le voisin qui pompe dans les ressources, sql moins rapide, connexion plus longue et pas possibilité d'en ouvrir une autre en parallèle.
 
Tu devrais essayer de "déplacer ton site" (changer le nom du dossier par exemple) si c'est possible pour voir si ça résout ton problème tu as peut être effectivement bcps trop de visiteur pour ce que peut encaisser une page free.


---------------
D3
n°2504834
Vosges88
Posté le 16-08-2025 à 12:15:56  profilanswer
 

Bonjour,  
Grand merci pour vos réponses, car le site déconne toujours, des fois il marche bien, des fois inaccessible ... Or il existe depuis 2008, il a son petit succès, c'est vrai, mais bon je pense pas qu'il y a un pic de fréquentation en ce moment (enfin c'est possible aussi, qui sait ?)(j'ai mis un nouveau header tout mignon récemment :) )
 
Alors par contre.
 
Même si j'ai tout programmé le site en PHP/MySql, ... c'était y a longtemps d'une part, d'autre par je suis pas un as en informatique, j'ai donc beaucoup perdu et pour vos réponses : je comprend que dalle :)
 
C'est quoi un "SHOW VARIABLES LIKE 'max_user_connections'" je mets ça où ?
 
Alors pour l'instant je ne donne pas l'url, car vu mes faibles connaissances , j'ai peur qu'un pirate qui lirait ça me bousille le site...
 

n°2504840
mechkurt
Posté le 16-08-2025 à 15:26:19  profilanswer
 

Ton site à vraiment besoin d'être en php/mysql ?
Combien tu as de pages ?
A quel fréquence tu fait des modifications ?
Qu'est ce qui est dynamique dans tes pages ?
Tu ne peux pas mettre l'équivalent en page html statique pour soulager les requêtes sql (ou au moins avoir une espèce de cache par exemple plutôt que reconstruire le menu avec une requête si il est dynamique le faire et l'écrire dans un fichier html que tu pourras inclure...


---------------
D3
n°2504841
TotalRecal​l
Posté le 16-08-2025 à 16:29:09  profilanswer
 

Vosges88 a écrit :

Bonjour,
Grand merci pour vos réponses, car le site déconne toujours, des fois il marche bien, des fois inaccessible ... Or il existe depuis 2008, il a son petit succès, c'est vrai, mais bon je pense pas qu'il y a un pic de fréquentation en ce moment (enfin c'est possible aussi, qui sait ?)(j'ai mis un nouveau header tout mignon récemment :) )

 

Alors par contre.

 

Même si j'ai tout programmé le site en PHP/MySql, ... c'était y a longtemps d'une part, d'autre par je suis pas un as en informatique, j'ai donc beaucoup perdu et pour vos réponses : je comprend que dalle :)

 

C'est quoi un "SHOW VARIABLES LIKE 'max_user_connections'" je mets ça où ?

 

Alors pour l'instant je ne donne pas l'url, car vu mes faibles connaissances , j'ai peur qu'un pirate qui lirait ça me bousille le site...

 



La commande que je te donnais sert tout simplement à vérifier si une limite a été paramétrée sur le nombre de connexion, et tu la mets dans ton outil de gestion de bdd mysql.
Et pour faire court, une connexion SQL quand on en a plus besoin ça se ferme, sinon elle reste ouverte et au bout d'un moment le serveur n'est pas content. A un moment t'auras pas le choix, faudra bien soit nous partager les sources de ton truc, soit aller voir toi même, là on va pas pouvoir t'aider plus [:michaeldell]
Et tu fais bien de te méfier des amateurs de piratage, parce qu'un site amateur en PHP de 17 ans, ça doit sentir bon le GET universel, les magic quotes et l'injection SQL.

Message cité 2 fois
Message édité par TotalRecall le 16-08-2025 à 16:31:10

---------------
Topic .Net - C# @ Prog
n°2504842
Vosges88
Posté le 16-08-2025 à 16:53:43  profilanswer
 

Bah ce que je vais faire dans un 1er temps c'est vous donner mon site en message privé.
J'avais fait une formation en php/Mysql il y a 22 ans, je m'en suis servi pour construire mon site qui est donc très vieux.
Et oui il faut des BDD, pour simplifier il y a des page html qui affiche du contenu en consultant les BDD. Certaines BDD ont 10 000 entrées...

n°2504843
TotalRecal​l
Posté le 16-08-2025 à 17:01:31  profilanswer
 

L'adresse publique du site ne peut être d'aucune utilité [:spamafote]

 

Par ailleurs pour ma part je n'apporte pas d'aide en privé, le principe du forum c'est que tout échange utile doit pouvoir profiter à tous, mais bien sûr quelqu'un d'autre de plus souple là-dessus voudra peut être te répondre en privé.

 

Site vieux ou pas j'en reviens à ce que je disais : toute connexion SQL doit être gérée et fermée proprement, c'est la base donc le premier truc à contrôler...

Message cité 1 fois
Message édité par TotalRecall le 16-08-2025 à 17:02:45

---------------
Topic .Net - C# @ Prog
n°2504844
Vosges88
Posté le 16-08-2025 à 17:02:31  profilanswer
 

TotalRecall a écrit :


La commande que je te donnais sert tout simplement à vérifier si une limite a été paramétrée sur le nombre de connexion, et tu la mets dans ton outil de gestion de bdd mysql.
Et pour faire court, une connexion SQL quand on en a plus besoin ça se ferme, sinon elle reste ouverte et au bout d'un moment le serveur n'est pas content. A un moment t'auras pas le choix, faudra bien soit nous partager les sources de ton truc, soit aller voir toi même, là on va pas pouvoir t'aider plus [:michaeldell]  
Et tu fais bien de te méfier des amateurs de piratage, parce qu'un site amateur en PHP de 17 ans, ça doit sentir bon le GET universel, les magic quotes et l'injection SQL.


 
Désolé mais je comprends toujours pas :  
 
"tu la mets dans ton outil de gestion de bdd mysql" : c'est quoi un outil de gestion BDD, PhpMyadmin ?
Et si c'est PhpMyadmin, je fais quoi du code que tu m'as donné, je le mets où ? je le teste comment ?
 
 

n°2504845
Vosges88
Posté le 16-08-2025 à 17:04:57  profilanswer
 

TotalRecall a écrit :

L'adresse publique du site ne peut être d'aucune utilité [:spamafote]
Site vieux ou pas j'en reviens à ce que je disais : toute connexion SQL doit être gérée et fermée proprement, c'est la base donc le premier truc à contrôler...


 
C'est la 1ère fois que j'entends qu'il faut fermer une connexion SQL :)
On fait comment ?

mood
Publicité
Posté le 16-08-2025 à 17:04:57  profilanswer
 

n°2504847
TotalRecal​l
Posté le 16-08-2025 à 17:08:53  profilanswer
 

TotalRecall a écrit :


...
A un moment t'auras pas le choix, faudra bien soit nous partager les sources de ton truc, soit aller voir toi même, là on va pas pouvoir t'aider plus [:michaeldell]


[:ocube]

 

On veut pas le site entier, juste un truc qui se connecte à la base et qui fait une requête, pour voir ce que t'as utilisé.

Message cité 1 fois
Message édité par TotalRecall le 16-08-2025 à 17:09:43

---------------
Topic .Net - C# @ Prog
n°2504848
Vosges88
Posté le 16-08-2025 à 17:18:14  profilanswer
 

TotalRecall a écrit :


[:ocube]
 
On veut pas le site entier, juste un truc qui se connecte à la base et qui fait une requête, pour voir ce que t'as utilisé.


 
Bah ça j'en ai des dizaines sur mon site,
exemple :
require("adm/based.php" );
 mysql_connect($serveur,$log,$pas);
mysql_select_db("$base" );
$requetn = "SELECT ID, nom , truc, adresse, vu, texte, com FROM nom where ID=$id";
$resultn = mysql_query($requetn);
$lignen = mysql_fetch_assoc($resultn);
$nomn=$lignen['nom'];
 

n°2504850
Vosges88
Posté le 16-08-2025 à 17:51:00  profilanswer
 

Incroyable, j'ai compris "SHOW VARIABLES LIKE 'max_user_connections'"
Il fallait le mettre dans SQL tout simplement, et ça marche :
max_user_connections 10
Comment faire pour l'augmenter ?

n°2504852
rat de com​bat
attention rongeur méchant!
Posté le 16-08-2025 à 18:21:50  profilanswer
 

Vosges88 a écrit :

$requetn = "SELECT ID, nom , truc, adresse, vu, texte, com FROM nom where ID=$id";

Je suis pas spécialiste du PHP mais je dirais ça sent très mauvais l'injection SQL ça. Renseigne toi et passe le site en statique (HTML) ou modifie le code au plus vite!


---------------
Ne laissez pas mourir vos sujets en cours de route!
n°2504856
TotalRecal​l
Posté le 16-08-2025 à 20:42:26  profilanswer
 

Vosges88 a écrit :


 
Bah ça j'en ai des dizaines sur mon site,
exemple :
require("adm/based.php" );
 mysql_connect($serveur,$log,$pas);
mysql_select_db("$base" );
$requetn = "SELECT ID, nom , truc, adresse, vu, texte, com FROM nom where ID=$id";
$resultn = mysql_query($requetn);
$lignen = mysql_fetch_assoc($resultn);
$nomn=$lignen['nom'];
 


 
En théorie, il manque un mysql_close($connection);, et le connect devrait ressembler à : $connection = mysql_connect($serveur, $log, $pas);
 
En pratique il me semble que les vieilles versions de PHP avaient un bricolage dégueulasse planqué quelque part pour fermer ça automagiquement à la fin de chaque script, mais c'est comme les magic quotes : ça ressemble à une bonne idée pour faciliter la vie aux débutants, jusqu'à ce que ça finisse en horrible drame.
 
et +1 pour l'injection SQL probable. Tant que tu fais que du SELECT et que t'as AUCUNE donnée sensible dans ta base (pas même un nom d'utilisateur) ça peut passer, mais c'est pas génial quand même :o.


---------------
Topic .Net - C# @ Prog
n°2504858
mechkurt
Posté le 17-08-2025 à 08:36:09  profilanswer
 

Vosges88 a écrit :


Bah ça j'en ai des dizaines sur mon site,
exemple :
require("adm/based.php" );
 mysql_connect($serveur,$log,$pas);
mysql_select_db("$base" );
$requetn = "SELECT ID, nom , truc, adresse, vu, texte, com FROM nom where ID=$id";
$resultn = mysql_query($requetn);
$lignen = mysql_fetch_assoc($resultn);
$nomn=$lignen['nom'];


Tu fais un

Code :
  1. require("adm/based.php" );
  2. mysql_connect($serveur,$log,$pas);
  3. mysql_select_db("$base" );


A chaque fois que tu fais une requête (donc pluisieurs fois par page ?).
Perso je conseille s de mettre le mysql_connect et le mysql_select_db dans le fichier adm/based.php et de faire des require_once de ce fichier au lieu de require, ce sera déjà un peu plus propre.
 
D’où vient $id, est tu sur que c'est bien un chiffre ?
Il faut le "nettoyer" pour être sur d’être à l’abri d'injection SQL :
https://www.php.net/manual/fr/secur [...] ection.php
 
Autre exemple : comment tu nettoie "Deneuve" avant de te faire ta recherche dans /cherche_film.php?texte=deneuve&select=tout ?


---------------
D3
n°2504867
Vosges88
Posté le 17-08-2025 à 11:50:47  profilanswer
 

Comme d'habitude je comprends pas tout.
En tout cas, oui le $ID est bien un chiffre qui vient de la page précédente :
$id=intval($_GET["ID"]);
 
"comment tu nettoie "Deneuve" avant de te faire ta recherche dans /cherche_film.php?texte=deneuve&select=tout ?"
 
Je nettoie rien du tout. Le nouveau nom est recherché dans la nouvelle requète, il remplace l'ancien.

n°2504868
Vosges88
Posté le 17-08-2025 à 11:57:23  profilanswer
 

Mon site chez free marche bien chez moi pendant une minute, puis il plante.
Par contre http://phpmyadmin.free.fr/phpMyAdmin/ fonctionne normalement maintenant.
La piste serait donc que le site marche trop bien, et avec le max user à 10, c'est là que ça doit planter, alors soit allons y avec vos conseils pour améliorer mes vieux scripts, la fermeture d'une cession SQL, ça je savais pas que ça existait, si vous me donnez le bon code, je vais passer beaucoup de temps à "tenter" de le mettre en place, ne parlons pas des autres défauts de mes vieux scripts, là je risque de vous embéter encore plus.
 
Soit, bonne nouvelle, le site fonctionne bien, pas la peine de le modifier, mais il plante si trop visité, donc là il faudrait changer le max_user...

n°2504869
rat de com​bat
attention rongeur méchant!
Posté le 17-08-2025 à 12:22:29  profilanswer
 

Désolé, mais je crois que tu sous-estimes largement la situation: Ton site est vulnérable aux injections SQL, un "outil" de base de tout pirate informatique. Il suffit d'une commande (injectée) pour tout casser (tu as une copie locale au moins?) ou mettre des cochonneries. Donc soit tu remets ça au propre très rapidement, soit tu déconnectes le site jusqu'à avoir le temps de régler ça. La c'est une bombe à retardement.


---------------
Ne laissez pas mourir vos sujets en cours de route!
n°2504875
Vosges88
Posté le 17-08-2025 à 14:12:56  profilanswer
 

rat de combat a écrit :

Désolé, mais je crois que tu sous-estimes largement la situation: Ton site est vulnérable aux injections SQL, un "outil" de base de tout pirate informatique. Il suffit d'une commande (injectée) pour tout casser (tu as une copie locale au moins?) ou mettre des cochonneries. Donc soit tu remets ça au propre très rapidement, soit tu déconnectes le site jusqu'à avoir le temps de régler ça. La c'est une bombe à retardement.


 
Oui, je programme tout en local, donc j'ai forcément une copie.
Moi je demande pas mieux que de réparer mon site, mais encore une fois, j'ai beaucoup perdu en programmation, donc je demande ici que l'on m'aide, ligne par ligne j'ai envie de dire, comment on pourrait faire ?

n°2504878
mechkurt
Posté le 17-08-2025 à 16:06:39  profilanswer
 

C'est un site d'entraide, on donne des solutions pour s’améliorer mais on ne bosse pas gratuitement.
Quand tu dit que tu as une copie local, tu parles des fichiers php, mais a quel frequence tu sauvegarde ta base de donnée free (à ma connaissance il n'y a pas de backup versionné dans le temps chez Free, ce qui peut se comprendre pour un service "gratuit" ).
Mon conseil fait une sauvegarde une fois par mois de ta base de donnée via phpmyadmin (un export complet sera suffisant).
 
Tu fait un $id=intval($_GET["ID"]);  c'est très bien, tu t'attend à un chiffre et tout autre caractère sera transformé en 0 donc aucun risque avec cette requête.
Ce qui est plus compliqué c'est les mots / phrases car il y a des phrases qui ont plus de sens en SQL qu'en anglais.
Si tu envoie dans l'url "/cherche_film.php?texte=jesuisungroshacker!' AND DROP DATABASE nomdelabasededonne" tu vas être bien embêté si tu n'as pas protégé ta requête.
 
Maintenant il vaux mieux passer par PDO avec des requête préparé.
https://www.pierre-giraud.com/php-m [...] -preparee/
Premier résultat Google pour "php mysql pdo requete prepare tuto", lut en diagonal et ça avait l'air pas mal.
 
Mais tu peux aussi utiliser https://www.php.net/manual/en/funct [...] string.php ou une regex qui supprime tout les caractères non désiré (ponctuation, guillemet, etc.).


Message édité par mechkurt le 17-08-2025 à 16:07:07

---------------
D3
n°2504882
rat de com​bat
attention rongeur méchant!
Posté le 17-08-2025 à 17:03:32  profilanswer
 

+1 avec mechkurt. Si tu veux une aide personnalisée "ligne par ligne" va valloir trouver (et payer!) un prof privé. Je suis parfois (trop souvent) disons surpris par les attentes des gens...


---------------
Ne laissez pas mourir vos sujets en cours de route!
n°2504894
lady287
La lumière fuse
Posté le 18-08-2025 à 10:30:19  profilanswer
 

Vosges88 a écrit :

Bonjour,
Mes BDD Free ne répondent plus :
 
Avec ce genre de message :
 
#1203 - User ..... already has more than 'max_user_connections' active connections
 
Et c'est tout le site qui est inaccessible avec Filezila, chrome, edge
 
Vous auriez une solution ?


 
Bonjour !
Qu'appeller vous "Mes BDD" ?


---------------
jovalise (C) 2002 Manuel De Girardi
n°2504895
lady287
La lumière fuse
Posté le 18-08-2025 à 10:33:48  profilanswer
 

Si vous cherchez un vrai SGBDR, Access de Microsoft est un sysème de gestion de base de données relationnelle.
 
C'est une application faisant parti de la suite Office.
 
Si vous rogrammez ; Je vous invte à profiter des bibliothèque de Adacore.

Message cité 1 fois
Message édité par lady287 le 18-08-2025 à 10:46:18

---------------
jovalise (C) 2002 Manuel De Girardi
n°2504896
TotalRecal​l
Posté le 18-08-2025 à 10:41:32  profilanswer
 

lady287 a écrit :

Si vous cherchez un vrai SGDBR, Access de Microsoft est un sysème de gestion de base de données relationnelle.
 
C'est une application faisant parti de la suite Office.
 
Si vous rogrammez ; Je vous invte à profiter des bibliothèque de Adacore.


Et tout ça fonctionne tellement bien pour faire du web chez un hébergeur gratuit en plus, c'est la solution parfaite pour ce topic c'est sûr...  


---------------
Topic .Net - C# @ Prog
n°2504897
TotalRecal​l
Posté le 18-08-2025 à 10:43:38  profilanswer
 

rat de combat a écrit :

+1 avec mechkurt. Si tu veux une aide personnalisée "ligne par ligne" va valloir trouver (et payer!) un prof privé. Je suis parfois (trop souvent) disons surpris par les attentes des gens...


+2
J'ai pas pris le temps de répondre aux derniers posts mais je suis d'accord avec tout, là c'est comme si tu nous demandais de réécrire bénévolement tout ton site.


---------------
Topic .Net - C# @ Prog
n°2504898
lady287
La lumière fuse
Posté le 18-08-2025 à 10:43:49  profilanswer
 

TotalRecall a écrit :


Et tout ça fonctionne tellement bien pour faire du web chez un hébergeur gratuit en plus, c'est la solution parfaite pour ce topic c'est sûr...  


 
Je sais ; J'ai pas besoin de vous pour confirmer.


---------------
jovalise (C) 2002 Manuel De Girardi
n°2504899
lady287
La lumière fuse
Posté le 18-08-2025 à 10:51:00  profilanswer
 

A propos du langage Ada ; Qui est un des langage les plus robuste. (je connais que celui - ci) ; Il existe plusieurs compilateurs.
 
Je n'ai en revanche aucune idée de la disponibilité des bibliothèques nécéessaire ici.


Message édité par lady287 le 18-08-2025 à 10:51:16

---------------
jovalise (C) 2002 Manuel De Girardi
n°2504901
TotalRecal​l
Posté le 18-08-2025 à 10:59:52  profilanswer
 

lady287 a écrit :


Je sais ; J'ai pas besoin de vous pour confirmer.


 [:ixemul:3]


---------------
Topic .Net - C# @ Prog
n°2504907
Vosges88
Posté le 18-08-2025 à 11:52:22  profilanswer
 

Mais je veux bien payer un prof privé, donner moi des adresses et je les contacte.
Ma BDD (base de données) je fais des ajouts une fois par mois.
Et en fevrier, elles étaient vérolées, j'ai tout remis en ligne.
Franchement je vais pas bien là, mon vieux site marche bien depuis des années, ainsi que mes vieilles BDD, je crains que seul j'arriverai pas à le reprogrammer, par contre les BDD sont relativement simples, elles pourraient servir à une refonte complète du site, il me faudrait un programmateur "honnéte"...

n°2504908
mechkurt
Posté le 18-08-2025 à 13:10:06  profilanswer
 

Alors ta question n'est pas dans la bonne catégorie.
Règle [0C] On ne fait pas le boulot à votre place.
 
Apparemment il faut poster ce genre de demande sur https://forum.hardware.fr/hfr/Emplo [...] _sujet.htm
 
Personnellement, je suis désolé mais je n'ai ni le temps, ni l'énergie de refaire ton site (même contre de l'argent :o ).


---------------
D3
n°2504927
Vosges88
Posté le 19-08-2025 à 11:58:17  profilanswer
 

Alors au delà de la programmation.
Je me demande si mon site n'est pas sur-visité par un robot.
Car j'ai des statistiques de mon site, que j'ai programmé moi-même, je sais quelles fiches sont visité, et surprise, c'est la fiche 0 , une fausse fiche qui est la plus visité !
Bref, il y a fort à parier que c'est un robot qui sur-visite mon site.
Mais là encore j'y connais rien, comment empêcher cet intrus ?

n°2504928
TotalRecal​l
Posté le 19-08-2025 à 12:28:39  profilanswer
 

Robots.txt, etc.
Mais ça ne marche qu'avec les gentils robots coopératifs.


Message édité par TotalRecall le 19-08-2025 à 12:29:30

---------------
Topic .Net - C# @ Prog
n°2504997
Vosges88
Posté le 20-08-2025 à 11:47:13  profilanswer
 

merci, j'ai mis un robots.txt à la base du site avec :
User-agent: *
Disallow: /
çà va comme ça ?
ou faut-il ajouter des lignes en citant de potentiel "mauvais" robots, si oui, pouvez-vous m'envoyer les lignes au format texte à ajouter au fichier ?

n°2505010
mechkurt
Posté le 20-08-2025 à 13:07:07  profilanswer
 

Tu veux vraiment empêcher l'indexation de toutes les pages de ton site par les robots ?
Tu ne veux pas que ton site figure dans les recherches Google ou autre ?
Sachant que comme le dit TotalRecall, les "méchants bots" ne tiennent aucun compte du robots.txt


---------------
D3
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Bases de données HS : Trop d'utilisateurs ?

 

Sujets relatifs
Stocker fichiers Excel en base de donnéesExcel macro/vba récupérer données wikipedia (voir p.4)
Récupérer les données d'une page webRanger les données de ma db à partir d'un clique
PHP/AJAX JQuery => Comment récupérer les données en PHP ?Synchronisation 2 bases de données PostgreSQL
[Powershell]Manipuler des données dans une clé de registreHive accorde l'autorisation d'étendue de la base de données
Extraction de données d'un PDF 
Plus de sujets relatifs à : Bases de données HS : Trop d'utilisateurs ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)