Bilder werden manchmal nicht angezeigt
Simbyte
- browser
2
Felix Riesterer
0 Simbyte
1 Kalle_B0 alain
Hallo,
ich bin dabei eine neue Seite zu coden.
Dabei ist das Problem, dass manchmal Grafiken einfach nicht angezeigt werden. Das passiert allerdings nur in Firefox, beim IE gibt es das Problem nicht. Wenn ich dann die Seite mit F5 neulade geht es immer.
Die Adresse ist http://web2.s094.silver.fastwebserver.de/startpage
Das Problem tritt bei mir schon in der Counter Grafik auf, aber auch unter Partner das Banner z.B.
Die Seite ist folgendermaßen gecodet:
Erst kommt die Navigation durch Tabellen, dann folgender php Teil zum Einbinden der Inhalte:
<?php
$pg = $_GET["path"];
if($pg == "")
{
$pg = "start";
}
include("inc/$pg.inc");
?>
Ein Link sieht dann logischerweise so aus:
<a href="?path=start" alt="Startseite"></a>
Hat jemand eine Ahnung woran das liegen könnte?
Gruß Simbyte
Liebe(r) Simbyte,
Erst kommt die Navigation durch Tabellen
willkommen im 20. Jahrhundert, wir schreiben das Jahr 1997, als CSS noch nicht erfunden wurde und Tabellen das "einzigste" Mittel der Gestaltung waren.
Brrrrrrr. Möchtest Du nicht lieber ins 21. Jahrhundert mitkommen? Hier kann man <http://de.selfhtml.org/css/intro.htm@title=viel schönere Techniken> einsetzen, als ein Layout mittels Tabellen zusammenzuprimeln.
$pg = $_GET["path"];
[...]
include("inc/$pg.inc");
Das ist das schönste Sicherheitsloch, das ich seit langem gesehen habe. Was passiert, wenn $pg zum Beispiel mit "../../../" anfängt? Und bestimmt findet sich auch eine schöne Bytefolge, die die Dateiendung, die Du vorzugeben scheinst, aushebeln kann.
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Liebe(r) Simbyte,
Erst kommt die Navigation durch Tabellen
willkommen im 20. Jahrhundert, wir schreiben das Jahr 1997, als CSS noch nicht erfunden wurde und Tabellen das "einzigste" Mittel der Gestaltung waren.
Brrrrrrr. Möchtest Du nicht lieber ins 21. Jahrhundert mitkommen? Hier kann man <http://de.selfhtml.org/css/intro.htm@title=viel schönere Techniken> einsetzen, als ein Layout mittels Tabellen zusammenzuprimeln.
$pg = $_GET["path"];
[...]
include("inc/$pg.inc");Das ist das schönste Sicherheitsloch, das ich seit langem gesehen habe. Was passiert, wenn $pg zum Beispiel mit "../../../" anfängt? Und bestimmt findet sich auch eine schöne Bytefolge, die die Dateiendung, die Du vorzugeben scheinst, aushebeln kann.
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hallo,
CSS wollte ich schon immer mal lernen, bin noch nicht dazugekommen^^
Wie kann ich dieses Sicherheitsloch ausschalten?
Hilft da die Version die von Kalle_B vorgeschlagen wurde?
Und was den alt Tag angeht, das ist eine ImageMap wo das erforderlich ist ;) Hatte nur den Link teil davon kopiert.
Liebe(r) Simbyte,
$pg = $_GET["path"];
[...]
include("inc/$pg.inc");Sicherheitsloch
Wie kann ich dieses Sicherheitsloch ausschalten?
erstelle Dir ein Array mit möglichen includierbaren Dateien (wenn Du willst auch dynamisch anhand der im Include-Verzeichnis vorhandenen Dateien). Includiere dann anhand des GET-Parameters die entsprechende Datei nur bei Vorhandensein des entsprechenden Array-Eintrags.
// man könnte auch dynamisch alle verfügbaren Dateien im Verzeichnis "inc" ermitteln...
$include_dateien = array(
'start.inc',
'dat1.inc',
'dat2.inc',
'dat_spezial.inc',
'dat_egal.inc'
);
$pg = 'start.inc'; // Default-Wert
if (in_array($_GET['path'], $include_dateien))
$pg = $_GET['path']; // nur deshalb hier erlaubt, da vorher eine Prüfung auf "vorhanden" stattgefunden hat!!!
include "inc/$pg";
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Liebe(r) Simbyte,
$pg = $_GET["path"];
[...]
include("inc/$pg.inc");Sicherheitsloch
Wie kann ich dieses Sicherheitsloch ausschalten?
erstelle Dir ein Array mit möglichen includierbaren Dateien (wenn Du willst auch dynamisch anhand der im Include-Verzeichnis vorhandenen Dateien). Includiere dann anhand des GET-Parameters die entsprechende Datei nur bei Vorhandensein des entsprechenden Array-Eintrags.
// man könnte auch dynamisch alle verfügbaren Dateien im Verzeichnis "inc" ermitteln...
$include_dateien = array(
'start.inc',
'dat1.inc',
'dat2.inc',
'dat_spezial.inc',
'dat_egal.inc'
);$pg = 'start.inc'; // Default-Wert
if (in_array($_GET['path'], $include_dateien))
$pg = $_GET['path']; // nur deshalb hier erlaubt, da vorher eine Prüfung auf "vorhanden" stattgefunden hat!!!include "inc/$pg";
>
> Liebe Grüße aus [Ellwangen](http://www.ellwangen.de/),
>
> Felix Riesterer.
Hallo Herr Riesterer,
vielen Dank für Ihre Antwort.
Ich habe das ganze, damit die URLs schöner aussehen folgendermaßen gelöst:
<?php
$files = array("start", "news", "bbb", "bbbb", "cccc", "dddd");
$pg = "start";
if(in\_array($\_GET["path"],$files))
{
$pg = $\_GET["path"];
}
include("inc/$pg.inc");
?>
Ich nehme an das ist immernoch genauso sicher, oder?
Was mir noch aufgefallen ist, das Problem mit den Grafiken besteht immernoch weiter.
Es ist wirklich verwunderlich, da der IE keine Probleme macht und F5 reicht um zu anzuzeigen
Liebe(r) Simbyte,
das Problem mit den Grafiken besteht immernoch weiter.
bei mir sieht http://web2.s094.silver.fastwebserver.de/startpage im Firefox und im Internet-Explorer identisch aus. Ich sehe einen Counter (als Grafik) und alles andere im IE gleichermaßen wie im FF.
Poste doch einmal Screenshots von Deinen beiden Browsern, vielleicht kannst Du darin markieren, was angeblich im Firefox fehlt...
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Liebe(r) Simbyte,
das Problem mit den Grafiken besteht immernoch weiter.
bei mir sieht http://web2.s094.silver.fastwebserver.de/startpage im Firefox und im Internet-Explorer identisch aus. Ich sehe einen Counter (als Grafik) und alles andere im IE gleichermaßen wie im FF.
Poste doch einmal Screenshots von Deinen beiden Browsern, vielleicht kannst Du darin markieren, was angeblich im Firefox fehlt...
Liebe Grüße aus Ellwangen,
Felix Riesterer.
So sieht das im Firefox aus:
http://xs222.xs.to/xs222/07506/counter.JPG
Und so im IE:
http://xs222.xs.to/xs222/07506/counterie.JPG
Der Unterschied dürfte klar sein^^ Wenn ich im Firefox F5 drücke geht es dort auch normal.
Gruß Simbyte
Liebe(r) Simbyte,
So sieht das im Firefox aus:
http://xs222.xs.to/xs222/07506/counter.JPGUnd so im IE:
http://xs222.xs.to/xs222/07506/counterie.JPG
in meinem Firefox sieht es immer so aus, wie im bild counterie.JPG... daher kann ich Dein Problem nicht nachvollziehen. Sorry.
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Liebe(r) Simbyte,
Hallo Herr Riesterer,
kennen wir uns? Oder warum siezt Du mich? Gibt es da einen speziellen Grund?
Ich nehme an das ist immernoch genauso sicher, oder?
Ja.
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hallo,
zu deinem Problem habe ich keine Lösung, aber
$pg = $_GET["path"];
if($pg == "")
{
$pg = "start";
}
kannst du einfacher schreiben:
$pg = ( $_GET["path"] ) ? $_GET["path"] : "start";
Wenn $_GET["path"] vorhanden, nimm es. Sonst nimm "start".
LG Kalle
hi,
Hallo,
ich bin dabei eine neue Seite zu coden.
gut
Dabei ist das Problem, dass manchmal Grafiken einfach nicht angezeigt werden. Das passiert allerdings nur in Firefox, beim IE gibt es das Problem nicht. Wenn ich dann die Seite mit F5 neulade geht es immer.
ja mit mozilla gehts genau so wenig...
Ein Link sieht dann logischerweise so aus:
<a href="?path=start" alt="Startseite"></a>
seit wann gibts den alt-tag(nicht alltag ;-)) im href?
Der alt-tag schreibt man in der regel für eingefügte bilder im
<img src="oben.jpg" width="667" height="495" border="0" alt="bild">
und nicht im <a href...bereich