Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.

Dexter

Junior Schreiberling

  • "Dexter" is male
  • "Dexter" started this thread

Posts: 253

Date of registration: May 27th 2002

1

Thursday, November 28th 2002, 11:40pm

Deep Links verhindern

Kann mir einer erklären wie ich es unterbinden kann, dass externe Seiten Bilder von meiner Seite bei sich einbinden (zählt soweit ich weiß zu den Deep-Links) ?

Bin für jeden Tip oder "Infolink" dankbar. Thx im voraus.

Source code

1
2
3
while ($asleep != true)  {  
  $sheep++;  
}

absynth

Gründervater

  • "absynth" is male

Posts: 666

Date of registration: Dec 10th 2001

Location: Hannover

Occupation: M. SC. Informatik

2

Friday, November 29th 2002, 1:26am

Quoted

Original von Dexter
Kann mir einer erklären wie ich es unterbinden kann, dass externe Seiten Bilder von meiner Seite bei sich einbinden (zählt soweit ich weiß zu den Deep-Links) ?

Bin für jeden Tip oder "Infolink" dankbar. Thx im voraus.


Das kannst Du (unter anderem) mit mod_rewrite lösen. Dafür brauchst Du in deiner Apache-Konfiguration den AllowOverride-Level Options (oder höher), aktiviertes FollowSymLinks und eine passende .htaccess. Da kannst du dann sowas wie
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^deinedomain.de
RewriteRule /(.*) /blah.html [L]

machen (ungetestet, funktioniert wahrscheinlich nicht).
Mehr Infos: http://httpd.apache.org/docs/mod/mod_rew…tml#RewriteCond
I refuse to submit
To the god you say is kind
I know what's right, and it is time
It's time to fight, and free our minds
http://www.christopher-kunz.de/

ap

Erfahrener Schreiberling

Posts: 269

Date of registration: Feb 14th 2002

Occupation: Student ;-)

3

Friday, November 29th 2002, 8:20am

Quoted

Original von absynth
Das kannst Du (unter anderem) mit mod_rewrite lösen.


Und damit wirkungsvoll verhindern, dass Leute die Graphiken überhaupt anschauen können, nämlich dann, wenn überhaupt keine Referer übertragen werden.
Oder liefert Apache das Bild doch, wenn keine Referer übertragen werden?
Who the fuck is General Failure and why does he read my hard disk? ?(

paradroid

Junior Schreiberling

Posts: 231

Date of registration: Feb 28th 2002

4

Friday, November 29th 2002, 8:30am

Also, um es gleich zu sagen: Es gibt keine sichere Methode, wenn man Referrer & Cookies ausschliesst. Ansonsten siehe hier: http://forum.fsinf-hannover.de/thread.ph…id=18&styleid=1

@admin: Könnt ihr das Board nicht irgendwie searchable machen, damit nicht alle Fragen doppelt gestellt werden müssen? Nur so 'ne Idee...

# transmission terminated #

Puck

Erfahrener Schreiberling

  • "Puck" is male

Posts: 304

Date of registration: Oct 9th 2002

Location: Also ich muss ins Hauptgebäude nur 2x lang hinfallen...

Occupation: WAS?!?! WIE?!?! ICH BIN STUDENT?!?!

5

Friday, November 29th 2002, 8:59am

Gibt es eventuell auch eine Lösung in php / java? Käme mir gelegen, da ich keinen Zugriff auf apache habe bei meinem Webspaceprovider.

Was das Board angeht, ich glaub die Funktion zum Suchen ist im BB ver 1.x garnicht vorgesehen oder? (Wenn nicht, korregiert mich bitte)

Meiner persönlichen Meinung nach ist das Invision Board momentan das beste Boardsystem am Markt. http://www.invisionboard.com
"Es ist erstaunlich, was die Leute leisten können, wenn man ihnen nur nachdrücklich genug verbietet, es zu leisten."
Lord Vetinari, Patrizier von Ankh-Morpork.


paradroid

Junior Schreiberling

Posts: 231

Date of registration: Feb 28th 2002

6

Friday, November 29th 2002, 10:04am

Quoted

Original von Puck
Gibt es eventuell auch eine Lösung in php / java?

Geht z.B. so:

Du baust dir ein PHP-Skript namens "image.php", welches als Argument (per GET oder POST) den Dateinamen bekommt. Das checkt dann erst cookie oder referrer und lädt dann das Bild aus einem Verzeichnis, wo der Webbrowser gar nicht herankommt.

Nicht vergessen: Nur den Namen verarbeiten, keine kompletten Pfade! Sonst kann man mit dem Skript hinterher deinen ganzen Server abgrasen.

# transmission terminated #

absynth

Gründervater

  • "absynth" is male

Posts: 666

Date of registration: Dec 10th 2001

Location: Hannover

Occupation: M. SC. Informatik

7

Friday, November 29th 2002, 10:55am

Quoted

Original von paradroid

Quoted

Original von Puck
Gibt es eventuell auch eine Lösung in php / java?

Geht z.B. so:
[...] und lädt dann das Bild aus einem Verzeichnis, wo der Webbrowser gar nicht herankommt.


Das ist ressourcentechnisch die denkbar ungünstigste Lösung, da du jedes Bild komplett in den Speicher holen mußt. Wenn Du etwas Last auf dem Webserver hast, freut der sich über solche Sperenzchen gar nicht.

--ck
I refuse to submit
To the god you say is kind
I know what's right, and it is time
It's time to fight, and free our minds
http://www.christopher-kunz.de/

PhilRM

Gründer

  • "PhilRM" is male

Posts: 867

Date of registration: Dec 9th 2001

Location: Hannover

Occupation: äh... :)

8

Friday, November 29th 2002, 11:03am

[offtopic]
http://forum.fsinf-hannover.de/search.php

Wer suchet, der findet. Das gilt auch für die Suchfunktion, den dicken großen Button oben in der Leiste, auf dem "SUCHE" steht.

[/offtopic]
"Sie haben also einen, äh, einen Master of Bachelor?" (Human Resources, T-Systems, Cebit)

Dexter

Junior Schreiberling

  • "Dexter" is male
  • "Dexter" started this thread

Posts: 253

Date of registration: May 27th 2002

9

Friday, November 29th 2002, 11:55am

Erstmal thx für die Antworten und die Hilfe. Habe eben beim Suchen mit den neuen Hinweisen folgende recht gute Seite gefunden (für die die es interessiert) :
www.trafficklau.de

Quoted

Original von paradroid
Könnt ihr das Board nicht irgendwie searchable machen, damit nicht alle Fragen doppelt gestellt werden müssen? Nur so 'ne Idee...


Nur am Rande : ich hatte die Suchfunktion benutzt, aber leider mit "Deep-Links". Und das ganze Forum per Hand zu durchsuchen fand ich übertrieben :D.

Quoted

Original von Puck
Meiner persönlichen Meinung nach ist das Invision Board momentan das beste Boardsystem am Markt. http://www.invisionboard.com


Hm, habe ich noch nie getestet. ICh bin ja mit dem wbb 2.0 mehr als zufrieden. Was kann denn das Invisionboard so tolles ? :)

Source code

1
2
3
while ($asleep != true)  {  
  $sheep++;  
}

paradroid

Junior Schreiberling

Posts: 231

Date of registration: Feb 28th 2002

10

Friday, November 29th 2002, 11:57am

Quoted

Original von absynth

Quoted

Original von paradroid
Geht z.B. so:
[...] und lädt dann das Bild aus einem Verzeichnis, wo der Webbrowser gar nicht herankommt.


Das ist ressourcentechnisch die denkbar ungünstigste Lösung, da du jedes Bild komplett in den Speicher holen mußt.

Wieso denn das? Wenn das Skript das Teil einfach durchpiped muss gar nichts zwischendurch in den Speicher.

# transmission terminated #

absynth

Gründervater

  • "absynth" is male

Posts: 666

Date of registration: Dec 10th 2001

Location: Hannover

Occupation: M. SC. Informatik

11

Friday, November 29th 2002, 1:15pm

Quoted

Original von paradroid
Wieso denn das? Wenn das Skript das Teil einfach durchpiped muss gar nichts zwischendurch in den Speicher.


Das Bild muß von der Festplatte in den Module-Kontext von PHP geladen und dann an den Browser gestreamed werden. Schritt 1 ist der, der Speicher zieht, weil das Bild, statt direkt gestreamed zu werden, erst (u.U. blockweise, je nach Art des Pipings) an PHP durchgereicht und DANN gestreamed wird.
exec() buffered tatsächlich den kompletten Output, fpassthru() und readfile() machen 8kb-Blöcke. Wenn Output Buffering aktiviert ist (z.b. ob_gzhandler()), wird natürlich jeglicher Output komplett gepuffert.

Damit ist der Speicherbedarf = (Größe des Bildes)/( ggf.) Blockgröße + (Speicherbedarf PHP-Modul) und damit >> dem Speicherbedarf, den das Bild bei reiner Verarbeitung durch Apache benötigt hätte.

Von den Geschwindigkeitsnachteilen für PHP Startup und -Shutdown mal ganz zu schweigen. Die sind nämlich:

1. Context Switch -> PHP
2. PHP-fopen; PHP-fpassthru (Loop über gesamte bildgröße in 8kb-Buffern); PHP-fclose
3. Stream
4. PHP Shutdown

vs.

1. Apache-fopen
2. Stream


Und wo wir schon bei Größen sind: nette Dinge wie mod_gzip funktionieren natürlich bei einer PHP-Durchreiche auch nicht mehr, außer man benutzt den o.g. ob_gzhandler.

Kannste ja mal durchmessen - wirklich performant ist das nicht. Aber hier geht's ja wahrscheinlich nicht um eine High-Traffic-Seite, insofern ist das wirklich eine akademische Diskussion.
--ck
I refuse to submit
To the god you say is kind
I know what's right, and it is time
It's time to fight, and free our minds
http://www.christopher-kunz.de/

Puck

Erfahrener Schreiberling

  • "Puck" is male

Posts: 304

Date of registration: Oct 9th 2002

Location: Also ich muss ins Hauptgebäude nur 2x lang hinfallen...

Occupation: WAS?!?! WIE?!?! ICH BIN STUDENT?!?!

12

Friday, November 29th 2002, 11:07pm

@Dexter: Letzlich natürlich jedem seine eigene Entscheidung. Persönlich finde ich das IBF einfach schön schnell und einfach zu installieren/administrieren. Zudem sind eine ganze menge Funktionen, die man bei anderen Boardsystemen nachträglich hinzufügen muss, schom implementiert. Ausserdem ist es umsonst.

Allerdings muss ich zugeben, das phpBB 2.0 auch nicht schlecht ist. Das neue Ikonboard hab ich mir zwar noch nicht angeschaut, die Vorgänger waren aber auch recht gut.

Trotzdem ist das IBF für mich das bisher beste System.
"Es ist erstaunlich, was die Leute leisten können, wenn man ihnen nur nachdrücklich genug verbietet, es zu leisten."
Lord Vetinari, Patrizier von Ankh-Morpork.


paradroid

Junior Schreiberling

Posts: 231

Date of registration: Feb 28th 2002

13

Monday, December 2nd 2002, 8:26am

Quoted

Original von absynth
[... viele interessante Details ...]

Wer hätte das gedacht? Danke für die genaue Analyse, ich hätte nicht vermutet, dass PHP da solchen overload erzeugt. Na ja, für kleine Projekte wird's wohl reichen.

# transmission terminated #

KreiS

Senior Schreiberling

  • "KreiS" is male

Posts: 701

Date of registration: Dec 17th 2001

Location: Hannover

Occupation: moep

14

Tuesday, December 3rd 2002, 12:07am

mal ne kleine Offtopic frage, welche möglichkeiten gibt es bei Apache zu loggen was für einen Traffic man raus gibt bzw bekommt? oder hilfs mittel womit man es sich anzeiegn könnte? ;)

am besten für win32
kaneda spring <-> ks <-> KreiS
"surrender is an option ...time to change everything" (ks '04)

Dakota-Indianer(Weisheit),"Wenn Du entdeckst, dass Du ein totes Pferd reitest, steig ab"

  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

15

Tuesday, December 3rd 2002, 12:53am

Quoted

Original von KreiS
welche möglichkeiten gibt es bei Apache zu loggen was für einen Traffic man raus gibt bzw bekommt? oder hilfs mittel womit man es sich anzeiegn könnte?
Wie genau soll denn das sein? Wenn du die Requests "bytegenau" abgerechnet haben möchtest, wirst du das wohl mit dem Apache alleine nicht hinbekommen. Dann müßtest du bei den Netzwerktreibern/-daemons ansetzen.

Falls es aber nicht auf absolut exakte Werte ankommt, sollte eine Auswertung des Apache-Logfiles mit einem der gängigen Tools vollkommen ausreichen. Zum Beispiel mit analog geht das recht einfach. Das sieht dann in etwa so aus:
http://www.statslab.cam.ac.uk/webstats/stats.html


Oder willst du eine Auswertung in Echtzeit haben? Dann solltest du dir ein Skript schreiben, das das Apache-Logfile auf Änderungen überwacht und die Änderungen auswertet. Ein allzu großer Aufwand sollte das eigentlich nicht sein.

Man könnte sich dafür auch ein Apache-Modul schreiben, aber man muß ja nicht gleich schwere Geschütze auffahren. ;) Falls doch: Link
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

absynth

Gründervater

  • "absynth" is male

Posts: 666

Date of registration: Dec 10th 2001

Location: Hannover

Occupation: M. SC. Informatik

16

Tuesday, December 3rd 2002, 4:31pm

Quoted

Original von Joachim
Man könnte sich dafür auch ein Apache-Modul schreiben, aber man muß ja nicht gleich schwere Geschütze auffahren. ;) Falls doch: Link


Och, nimm doch einfach das, was schon da ist: http://sourceforge.net/projects/mod-acct/

Accounted auch in eine mySQL-DB etc., läuft hier auf ca. 800 vhosts.

--ck
I refuse to submit
To the god you say is kind
I know what's right, and it is time
It's time to fight, and free our minds
http://www.christopher-kunz.de/