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

  FORUM HardWare.fr
  Programmation
  PHP

  Un mauvais décompte de domaines, en PHP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Un mauvais décompte de domaines, en PHP

n°2215780
Sabinou
Posté le 10-01-2014 à 18:43:44  profilanswer
 

Bonjour !
 
Je pourrais vous demander de l'aide, s'il vous plaît ? :)
 
Pour prévenir une certaine forme d'abus, sur une page où des utilisateurs peuvent soumettre du texte (disons que c'est à mi-chemin entre forum et livre d'or), j'ai essayé de restreindre le nombre de liens externes postés par les membres.
L'idée, c'est qu'on peut poster des liens jusqu'à 3 sites web différents (et même des pages internes différentes dans ces sites), mais pas vers 4 sites différents, ou davantage.
 
Voici le code, où $entry est ce que soumet l'utilisateur :  
 
[code]preg_match_all('#http://(?:www\.)?(.*?)/#', $entry, $domains);
$uniquedomains = array_unique($domains[1]);
$nrofdomains = count($uniquedomains);
if ($nrofdomains > 3)  
{  
die ("blocage" );  
// ou n'importe-quoi d'autre, vous voyez l'idée, quoi
} [code]
 
Sauf que. Avec mon niveau en codage (très très faible ^^), je n'arrive pas à éviter un bug :(
 
Le bug : si une personne poste des liens avec sous-domaine, chacun des sous-domaines est compté comme un nouveau domaine.
Par exemple ? main.site.fr puis ensuite serveur2.site.fr et enfin serveur3.site.fr : ça serait compté comme trois sites.
Il doit bien y avoir moyen d'améliorer le preg_match_all, mais, rha, ça me dépasse :(
 
J'ai bien envisagé de whitelister les sites courants ayant des sous-domaines courants comme machin.blogspot.fr, mais c'est stérile, comme démarche, je ne vais pas whitelister la moitié de l'internet juste parce que je ne suis pas fichu de rédiger correctement un preg_match_all  :sarcastic:  
(Et puis bon, je ne me suis pas encore demandé comment coder une liste blanche, en plus  :D )
 
Enfin voilà...
Auriez-vous une petite idée là-dessus, peut-être, s'il vous plaît, sur la façon de mieux rédiger ça ? :)
 
Merci si vous pouvez aider !

mood
Publicité
Posté le 10-01-2014 à 18:43:44  profilanswer
 

n°2216099
xaeon
Profil: TT
Posté le 15-01-2014 à 03:14:16  profilanswer
 

Hello,
 
Regarde du côté de la fonction parse_url http://www.php.net/manual/fr/function.parse-url.php . Dans les commentaires tu trouveras une personne qui extrait d'une URL le top level domain + domain. Je pense que ça sera plus facile d'emploi qu'une regex.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Un mauvais décompte de domaines, en PHP

 

Sujets relatifs
Recupérer les liens d'une page en PHPPHP - Traitement long sans blocage du navigateur ?
Projet de fin d'année. (Java,Html,MySQL,PHP)Récupération données d'un site PHP
Quoi modifier du PHP.INI pour remettre mon blog sur piedPHP /flash demandes =)
Du PHP compilé, çà existe ?Champs input vers Array PHP
Help [PHP/MySQL] et programmation de jeu 
Plus de sujets relatifs à : Un mauvais décompte de domaines, en PHP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR