Ist es beispielsweise stackexchange.com
möglich, zu wissen, welche Sprache im Back-End verwendet wird , ohne den Websitebesitzer oder Google nach deren Informationen zur Entwicklung der Website zu fragen?
Scheint, die Website hat keine .extension
Leiste, die zum Beispiel .php
anzeigen kann, welche in entwickelt ist PHP
, aber ohne die Erweiterung, woher kann ich das wissen?
web-development
server
Ted Wong
quelle
quelle
.php
ein in C geschriebenes CGI-Skript oder ein in Java geschriebenes Servlet recht einfach abbilden .Antworten:
Es gibt Indikatoren. Einige sind leichter zu finden, andere schwerer.
.php
Zeigt an, dass die Site in PHP geschrieben ist,.asp
zeigt klassisches ASP an,.aspx
zeigt ASP.NET an,.jsp
zeigt Java JSPs an, ...JSESSIONID
ist ein in Java-Servern weit verbreiteter Cookie-NameAber all diese können entfernt / geändert / gefälscht werden. Einige sind einfacher zu ändern als andere, aber keine ist zu 100% zuverlässig.
Es gibt verschiedene Gründe, diese Indikatoren zu ändern:
quelle
JSESSIONID
istPHPSESSID
.Nun, es gibt die Datei humans.txt, die ein Entwickler in der Domäne einrichten kann und die einige Informationen über die Website-Entwicklung enthält, möglicherweise darüber, wer daran gearbeitet hat und welche Standards oder Tools verwendet wurden. Wenn sie möchten, dass Sie über diese Art von Informationen Bescheid wissen, könnten / sollten sie diese dort ablegen. Dies ist jedoch wie alles andere optional, so dass es auch nicht garantiert werden kann, Sie zu informieren. Probieren Sie humans.text aus
quelle
Nein, es könnte ziemlich schwierig, wenn nicht unmöglich sein, wenn der Webmaster nichts preisgeben möchte. Es gibt einige Merkmale weniger Frameworks, die jedoch ausgeblendet werden können.
Dateierweiterungen: Es gibt keinen wirklichen Grund, Standard-MVCs zu verwenden, und die meisten modernen MVCs verwenden ohnehin URL-Routing. Wenn es die Site nicht schon länger gibt, werden Sie wahrscheinlich keine finden (zB stackexchange verwendet keine
.aspx
Erweiterung).Sitzungs-IDs: Dies ist beispielsweise
PHPSESSID
die Standardeinstellung für PHP, kann jedoch leicht überschrieben werden .Header mit Webserver- und Skriptsprachenversionen: können deaktiviert oder sogar gefälscht werden.
Sachen, die schwerer zu verbergen sind:
[]
an den Namen anhängt...?var[]=1&var[]=3&...
. AFAIK, es ist das einzige Web-Framework, das das so macht.quelle
Kurz gesagt: Es ist möglich zu verbergen, welche Sprache Sie im Backend verwenden. Triviales Beispiel: Betrachten Sie eine "Hello World" -Seite. Es wäre äußerst schwierig herauszufinden, welches Framework / welche Sprache im Back-End verwendet wurde (vorausgesetzt, die grundlegenden Dinge wie Sitzungscookies werden manuell festgelegt oder werden nicht verwendet).
Der Sinn von Frameworks besteht jedoch darin, dass Sie die Funktionalität nicht erneut implementieren müssen und standardisiert arbeiten müssen. Fast alle Frameworks haben ihre eigenen kleinen Geschichten, die sie verraten, wenn Sie genau hinsehen. Wie bereits erwähnt, können Sie versuchen, diese auszublenden, indem Sie verschiedene Standardfunktionen konfigurieren oder neu implementieren. Trotzdem würde ich behaupten, dass es für große Websites äußerst schwierig sein würde, alles vollständig zu verbergen, und selbst wenn Sie dies erreichen würden, würden Sie nur sehr wenig von Ihrem Framework verwenden.
Zusammenfassend würde ich sagen, dass es fast immer möglich ist, eine sehr gute Vorstellung davon zu bekommen, was darunter verwendet wird (mit einigen sorgfältigen Untersuchungen und Stößen). Das Verbergen des verwendeten Frameworks ist möglich, wird jedoch für große Sites schnell unmöglich.
Die vorherigen Antworten enthalten einige gute Beispiele für verschiedene Erzählungen, die Frameworks und Sprachen haben. Ich möchte hinzufügen, dass verschiedene Ansichtsmodule ein spezifisches Verhalten in Bezug auf Leerzeichen aufweisen, mit dem sie identifiziert werden können. Die in MVC3 + verwendete Razor-Engine weist einige ziemlich spezifische Besonderheiten auf, die verwendet werden könnten, um sie zu identifizieren oder zumindest die Liste der Verdächtigen einzugrenzen (Sie können sie erneut umgehen, aber verwenden Sie sie dann?).
quelle
Ich weiß nicht, ob dies speziell Ihre Frage beantwortet, aber es gibt ein Tool, das mir wirklich geholfen hat: Wappalyzer . Es ist eine Firefox / Chrome-Erweiterung, die die auf Websites verwendeten Technologien aufdeckt. Es erkennt Content-Management-Systeme, Webserver, JavaScript-Frameworks, Analysetools und viele andere. Ich weiß, es ist nicht genau das, wonach Sie suchen, aber es gibt Ihnen eine sehr genaue Vorstellung davon, was eine Website verwendet. Dies ist, was es für programmers.stackexchange.com zeigt
quelle
Es ist möglich, eine Site so zu schreiben, dass für den Client keine Hinweise auf die Servertechnologie sichtbar sind.
Wenn jedoch jemand ein Framework wie IceFaces für Java verwendet , ist dies praktisch unmöglich, da in Ihren Anforderungen etwa Folgendes angezeigt wird:
Viele andere Frameworks haben ihre charakteristischen Stempel entweder im Seitenkörper oder in Anfragen / Antworten. Finden Sie sie, google und Sie werden eine Antwort haben.
Wenn Sie jedoch in jeder Sprache HTML von Grund auf neu erstellen (in der Java-Welt wären dies beispielsweise Velocity- Vorlagen) oder sich für einen reinen AJAX-Weg entscheiden, bei dem der Server nur JSON-Nachrichten zurückgibt / akzeptiert und der Client vollständig in JavaScript arbeitet - ein schwieriger Weg , bis Sie eine nicht erfasste Ausnahme verursachen, unter der die Technologie sichtbar wird.
quelle
Auf Websites, die ein vollständiges Framework oder ein CMS verwenden, können Sie manchmal versuchen, die Admin-Seite abzufragen. Dann wird ein Anmeldefeld angezeigt, in dem angegeben wird, von welchem Framework es stammt, da die meisten Benutzer die Admin-Vorlage nicht reskinen. Wenn Ihre Site beispielsweise example.com lautet, rufen Sie example.com/admin/ oder example.com/wp-admin/ (WordPress) auf.
quelle
Sie sollten diese Seite besuchen : Built With . Hier erfahren Sie alle diese Informationen, sofern verfügbar.
quelle
Nein, es ist nicht möglich, die auf den Websites verwendete Sprache durch Anzeigen des Quellcodes der Webseite und Durchsuchen der vorhandenen Sprachen zu finden. Aufgrund der Verwendung von mehr als einer Sprache zur Erstellung einer Website, um eine hohe Sicherheit zu gewährleisten
quelle