Browser-Interpretation einer bestimmten URL als einzelne Datei oder verkleinertes Verzeichnis speichern [geschlossen]

1

Ich habe einen Webserver, der für Entwicklungszwecke verwendet wird, und als solcher habe ich ihn über Apache passwortgeschützt gemacht. Darüber hinaus verwendet die Anwendung die serverseitige Authentifizierung. Hin und wieder möchte ich eine Seite mit jemandem teilen, ihm aber nicht die Benutzernamen / Passwörter von Apache und der Anwendung geben.

Stattdessen möchte ich nur die Dateien angeben, die für eine bestimmte Instanz eines Browsers erforderlich sind, um die Website anzuzeigen. Dies sollte HTML, JS, CSS, Bilder usw. einschließen.

Mein Ziel ist es, dies in mehrfacher Hinsicht zu erreichen.

Wie bereits erwähnt, sind das Apache-Verzeichnis und die Anwendung durch ein Passwort geschützt, und ich würde lieber keine Passwörter herausgeben.

Zweitens möchte ich niemanden, der nicht für Servercode und SQL verantwortlich ist, mit einem Haufen Flusen belasten.

Wenn eine statische Instanz ausgegeben wird, kann das unterstrichene HTML besser vor und nachher verglichen werden.

Wie könnte dies am besten erreicht werden?

Danke

user1032531
quelle
2
Verwenden Sie .htaccess und .htpasswd, um einen Benutzernamen und ein Kennwort für den Benutzer zu erstellen. Sie können auch ein Konto für sich selbst erstellen, um Ihre Anmeldeinformationen geheim zu halten. Sie können den Zugriff auf das gewünschte Verzeichnis nach Bedarf hinzufügen und widerrufen.
Kinnectus
Ich würde dann lieber nicht auf den eigentlichen Server zugreifen und keine Daten in Formulare / etc eingeben können, sondern nur das gerenderte HTML sehen.
user1032531
@ BigChris. Entschuldigung, habe ich in meinem ursprünglichen Beitrag nicht gesagt, aber die Anwendung ist neben dem Verzeichnis mit .htpasswd auch passwortgeschützt. Ich möchte mich anmelden, um beide Schutzebenen zu überwinden und den gerenderten HTML-Code mit Anwendungslinks nach JS / CSS / etc zu kopieren, die Ausgabe zu packen und sie entweder per E-Mail zu senden oder an einem ungeschützten Ort zu speichern.
user1032531
Offenbar möchten Sie, dass der Client Änderungen an den Dokumenten vornimmt. Sie haben keine andere Wahl, als den gesamten Site-Code für sie freizugeben. Ich sehe keinen Grund darin, den Inhalt zu schützen. Senden Sie ihnen einfach eine E-Mail zip der Quelldateien, aber stellen Sie sicher, dass die Dateien durch relative URLs verknüpft sind ... Oder haben wir etwas verpasst?
Kinnectus
@ BigChris Ich möchte nur speichern, was der Client sieht. Ich möchte jemandem im Idealfall eine Zip-Datei senden, die eine Datei mit dem Namen index.html (oder was auch immer) enthält, die den vom Browser angezeigten HTML-Code und möglicherweise eine Verzeichnisstruktur enthält, die das HTML-Stammverzeichnis imitiert, aber nur Dateien enthält, auf die von verlinkt wurde die oben genannte HTML-Datei. Alternativ vielleicht eine All-in-One-Datei, die alle verknüpften Ressourcen enthält? Jemand könnte dies dann verwenden, um genau das zu "sehen", was ich gesehen habe. Ich möchte ihnen keinen Haufen PHP / ASP / etc und SQL-Code senden, mit denen der vom Browser angezeigte Inhalt generiert wird.
user1032531

Antworten:

2

Wäre eine von der Seite erstellte PDF-Datei akzeptabel, wenn die andere Person nur sehen muss, wie die Seite aussieht, aber keine Aktion auf der Seite ausführt? In diesem Fall gibt es viele Anwendungen, mit denen Sie die Seite auf einem Ihrer Systeme in eine PDF-Datei "drucken" können. Sie können die PDF-Datei dann per E-Mail versenden oder über einen Dienst wie Google Drive, Dropbox usw. verfügbar machen, mit dem Sie Dateien für andere freigeben können.

Eine andere Alternative wäre, den Inhalt der Seite mit einem Dienst wie Evernote zu "beschneiden" und die Seite über diesen Dienst für sie freizugeben, damit sie nicht auf Ihren Entwicklungsserver zugreifen, sondern die Seite so sehen sollten, wie Sie sie gesehen haben. Wenn die Person kein Evernote-Konto besitzt, können Sie die Anweisungen unter " Notizen freigeben" verwenden . Ähnliches können Sie auch über einen anderen Webseiten-Archivierungsdienst, Diigo , tun. Wenn Sie Diigo ein Lesezeichen für eine Seite setzen, können Sie festlegen, dass die Seite hochgeladen werden soll, auch wenn sie dynamisch ist oder aus Gründen des Kennwortschutzes nicht in der Öffentlichkeit angezeigt wird. Wenn Sie bei solchen Diensten die Seite auf dem Server aktualisiert haben und möchten, dass die andere Person das neueste Update sehen kann, müssen Sie die Seite erneut für den Dienst ausschneiden / archivieren, da der Dienst eine Kopie von what speichert Die Seite sah in dem Moment aus, als Sie die Seite über Ihren Browser beschnitten / archiviert haben.

Wenn Sie der anderen Person CSS und JavaScript zur Verfügung stellen müssen, können Sie alle externen CSS- und JavaScript-Dateien als separate Evernote-Notizen bereitstellen. Dies ist jedoch wahrscheinlich keine gute Lösung für Sie. Was ist mit dem Speichern der Seite über einen Browser? Wenn Sie beispielsweise über den Internet Explorer auf die Seite zugreifen, können Sie auf "Datei", "Speichern unter" und dann unter "Dateityp" die Option "Webseite vervollständigen" klicken. Dadurch wird eine HTM-Datei für die Seite zusammen mit einem Verzeichnis erstellt, das die auf der Seite verwendeten CSS- und JS-Dateien enthält. Firefox bietet auch eine ähnliche Option zum Speichern von Webseiten als "Webseite vollständig", wobei eine HTM-Datei und ein zugehöriges Verzeichnis mit CSS- und JS-Dateien erstellt werden. In Chrome erstellt Alt-F und dann "Seite speichern unter" eine HTML-Datei und ein diesen Dateien zugeordnetes Verzeichnis, wenn Sie als "Webseite" speichern.

Sie können dann die Datei und das zugehörige Verzeichnis komprimieren und diese komprimierte Datei für die andere Person freigeben, die den Inhalt der komprimierten Datei extrahieren und die HTM-Datei in ihrem Browser öffnen kann, um zu sehen, was Sie sehen, und die Datei auch bearbeiten Dateien und senden Sie die bearbeiteten Dateien an Sie zurück.

BEARBEITEN pro Originalposter: Gemäß den Kommentaren des Antwortenden:

@ user1032531, ja, die Option "Webseite fertig" speichert die Seite so, wie sie aus der Sicht des Browsers aussieht. Sie erhalten eine .htm- oder .html-Datei und ein Verzeichnis mit demselben Namen, das alle Bilder, .css- und .js-Dateien enthält, die mit der im Verzeichnis abgelegten Seite verknüpft sind. Diese können Sie dann selbst komprimieren und an eine andere Person senden . Internet Explorer (IE) bietet auch die Option zum Speichern als "Webarchiv, einzelne Datei (* .mht)", die IE-Browser anzeigen können, Firefox und Chrome jedoch nicht ohne Add-On. Speichern als "Webseite". "& Entpacken Sie die Datei und das dazugehörige Verzeichnis am besten selbst - Moonpoint 4. Januar um 5:01

Mondpunkt
quelle
Vielen Dank Moonpoint. Nein, ein PDF wird nicht funktionieren. Mein Ziel ist es, ihnen den clientseitigen Code zu geben, damit sie Änderungen an dem zugehörigen JavaScript / CSS / HTML vornehmen können. Sie senden mir dann die Arbeit zurück, und ich könnte den Servercode ändern, um ihre Änderungen in HTML widerzuspiegeln, und die entsprechenden JS / CSS-Dateien ersetzen. Ich werde Evernote überprüfen.
user1032531
@ user1032531, da Sie CSS, JavaScript und HTML für die Seite bereitstellen müssen, damit die andere Person sie bearbeiten kann, ist Evernote wahrscheinlich nicht die beste Methode, um eine Kopie der Seite und der zugehörigen Dateien bereitzustellen. Daher habe ich meinen Kommentar mit bearbeitet eine andere Alternative.
Mondpunkt
Ich kann es auch nicht komprimieren, da der HTML-Code mit PHP generiert wird. Darüber hinaus befinden sich die verschiedenen CSS / JS-Dateien an verschiedenen Orten in vielen Verzeichnissen, die alle mehrere Ebenen tief sind. Ich muss nur erfassen, was der Browser sieht.
user1032531
1
Bei user1032531 erfasst die Option "Speichern unter" in einem Webbrowser, der die Seite anzeigt, den Code, den der Browser gerade sieht. Dh es wird die HTML-Datei so angezeigt, wie sie aus dem PHP-Code generiert wurde. Es spielt keine Rolle, wo sich die CSS- und JS-Dateien auf Ihrem Server befinden. Wenn Sie sie als "Webpage, Complete" speichern, werden sie in einem Verzeichnis gespeichert, das mit einer HTML-Datei verknüpft ist. Beide werden vom Browser auf erstellt Das System zeigt die Seite an. Wenn die andere Person die gespeicherte HTML-Datei in ihrem Browser öffnet, werden die CSS- und JS-Dateien im zugehörigen Verzeichnis für die Anzeige verwendet.
Mondpunkt
1
@ user1032531, ja, die Option "Webseite fertig" speichert die Seite so, wie sie aus der Sicht des Browsers aussieht. Sie erhalten eine .htm- oder .html-Datei und ein Verzeichnis mit demselben Namen, das alle Bilder, .css- und .js-Dateien enthält, die mit der im Verzeichnis abgelegten Seite verknüpft sind. Diese können Sie dann selbst komprimieren und an eine andere Person senden . Internet Explorer (IE) bietet auch die Option zum Speichern als "Webarchiv, einzelne Datei (* .mht)", die IE-Browser anzeigen können, Firefox und Chrome jedoch nicht ohne Add-On. Speichern als "Webseite". Komplette "& Zippen der Datei und des zugehörigen Verzeichnisses selbst ist am besten
Moonpoint
0

Eine Möglichkeit (abhängig von vielen Faktoren wie der Art des Inhalts und der Einrichtung des Servers) besteht darin, einen Bereich auf der Website einzurichten, der nicht kennwortgeschützt ist, und dann den geschützten Inhalt mit einer zufälligen Zeichenfolge für den Namen zu verknüpfen of the symlink - Dies fungiert als eine Art Passwort mit geringer Sicherheit.

Davidgo
quelle
Vielen Dank, David. Ja, ich schätze, ich könnte das tun, aber ich hatte gehofft, tatsächlich eine Kopie des Inhalts zu machen. Neben dem Apache .htpasswd verfügt die serverseitige Anwendung auch über ein Kennwort. Wie komme ich daran vorbei, wenn ich mich nicht anmelde, den HTML-Code rendere und eine Kopie davon erstelle?
user1032531
Diese Frage kann nicht beantwortet werden, ohne über Ihr Coding-Framework usw. Bescheid zu wissen. CURL ist eine Allzweck-Toolbox, die wahrscheinlich beim Scrappen Ihrer Site hilfreich sein kann.
Davidgo
Ja, ich könnte etwas mit CURL tun, aber es scheint mir, dass ich eine Anwendung erstellen müsste, die die Anmeldeinformationen der Hauptanwendung nachahmt und Sitzungen nach Bedarf einrichtet. Ich hätte erwartet, dass ein clientseitiges Tool wie Firebug existiert. Wenn Sie sich mit dem Browser anmelden, werden Cookies gesetzt und es wird eine Momentaufnahme der URL erstellt, in der alle verfügbaren HTML-Dateien und Ressourcen des Clients gespeichert werden.
user1032531