2017-07-27 2 views
0

Je suis en train de créer un script qui détecte si le URL donné points Joomla site Web.Comment faire pour détecter le site Web Joomla?

Pour l'instant j'ai:

def is_joomla(url): 
    manifest = url + '/administrator/manifests/files/joomla.xml' 
    # get XML 

    if "joomla" in XML: # simplified 
     return True 
    return False 

Une autre option est de vérifier la chaîne Joomla dans html en minuscules, mais ce n'est pas fiable. Je sais que certaines pages Joomla ne peuvent pas être détectées, mais la plupart d'entre elles devraient l'être.

Y at-il un autre signe qui m'aide à détecter si c'est Joomla? Je me fiche de la version.

Répondre

-1

Avant d'aller de l'avant, vous devez établir une connexion jusqu'à ce que ce fichier html ne soit pas dans le disque. En dehors de cela, vous pouvez utiliser BeautifulSoup pour l'analyser et utiliser le tag que vous recherchez.

+0

Bien sûr, je suis à la recherche de signes dites-moi que le site est dans Joomla, pas pour une technique. –

0

Je voudrais vérifier différents points pour vous assurer que la page que vous explorez est un site joomla.

  1. Vérifiez si DOMAIN/administrator/responses a 200. Si la valeur est true, vérifiez les métadonnées pour vous assurer qu'elles correspondent à joomla. Sur la page d'administration, vous pouvez trouver <meta name="generator" content="Joomla! - Open Source Content Management" />
  2. Vérifiez DOMAIN/robots.txt qui est livré par défaut par joomla et recherchez "Joomla" dans ce fichier. Devrait aussi retourner vrai.
  3. Vous pouvez vérifier d'autres paramètres dans le code HTML comme s'il y a un dossier « modèles », où les feuilles de style sont stockés dans.

Je pense que si les options 1 et 3 return true, vous pouvez être très sûr que la page crawlée est un site joomla. L'option 2 n'est pas sauvegardée, car certaines personnes pourraient y supprimer des robots.txt.

0

Vous pouvez voir un site Web est en cours d'exécution Joomla par simple vérification le code de réponse (X-CF-Powered-By) à partir du site ici un échantillon:

Antwort HTTP/1.1 200 OK 
Date Fri, 28 Jul 2017 09:02:35 GMT 
Content-Type text/html; charset=utf-8 
Transfer-Encoding chunked 
X-CF-Powered-By CF-Joomla 0.1.5 
P3P CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM" 
Expires Wed, 02 Aug 2017 09:02:35 GMT