ERLEDIGT
NEIN
NEIN
ANTWORTEN
21
21
ZUGRIFFE
671
671
EMPFEHLEN
-
09.02.07 21:52 #1
- Registriert seit
- Dec 2001
- Ort
- Magdeburg [Sachsen-Anhalt]
- Beiträge
- 62
Folgendes script:
Wie gesagt auf dem einen server läufts auf dem anderen nicht.PHP-Code:<?php
header("Content-type:image/png");
$bild = imagecreatefrompng("d.png");
$Datum = "14.04.2007 10:05:00"; // Schrift
$Zieldatum = mktime(substr($Datum, 11, 2), substr($Datum, 14, 2), substr($Datum, 17, 2), substr($Datum, 3, 2), substr($Datum, 0, 2), substr($Datum, 6, 4), -1);
$Differenz = $Zieldatum-time();
$Tage = floor($Differenz/86400);
$Rest = $Differenz-($Tage*86400);
$Stunden = floor($Rest/3600);
$Rest = $Rest-($Stunden*3600);
$Minuten = floor($Rest/60);
$Rest = $Rest-($Minuten*60);
$Zeit = "T:$Tage - H:$Stunden - M:$Minuten - S:$Rest";
$blau = imagecolorresolve($bild, 47, 214, 250);
$hinter = imagecolorresolve($bild, 255, 255, 255);
imagecolortransparent($bild, $hinter);
imagestring($bild, 7, 5, 1, "$Zeit", $blau);
imagepng($bild);
imagedestroy($bild);
?>
Wäre es ein Sicherheitsrisiko wenn ich einen Link zu den jeweiligen phpinfo Dateien poste?MfG MS[shady]
-
09.02.07 22:19 #2
- Registriert seit
- Mar 2006
- Beiträge
- 217
Nein, nicht das ich wüsste. In der PHP-Info stehen nur Daten vom Server bzw. dessen Settings, aber nichts von dir. Ansonsten schau doch selber einem ob die GD-Lib aktiviert ist.
Ich glaube allerdings nicht, dass das das Problem ist
Vielleicht ist das Bild nicht auf dem Server?
Was für eine Fehlermeldung bekommst du eigentlich?
->hoffentlich eine andere als ich beim Testen bekomme: "Die Grafik "http://localhost/test.php" kann nicht angezeigt werden, weil sie Fehler enthält." Allerdings wie lautet denn der Quellcode des Bildes? Warscheinlich steht dort die eigentliche PHP-Fehlermeldung drin
Edit: Übrigens, was ich noch anmerken muss
(sry, kanns mir nicht verkneifen) Du solltest in Zukunft etwas mehr Wert auf folgende Dinge in deinen Codes legen:
1. Variablennamen einheitlich schreiben (sollten nur klein sein)
2. !dich über die php-Zeit-Funktionen informieren!
3. Fehlerbehandlung in deinen Codes verwendenGeändert von Sturmrider (09.02.07 um 22:27 Uhr)
-
09.02.07 22:34 #3
- Registriert seit
- Sep 2005
- Ort
- Lübeck
- Beiträge
- 174
@ msshady:
Ja, es ist ein sicherheitsrisiko. Die phpinfo();-Informationen sind nur für dich bestimmt, nicht für andere. Zu deinem Problem: Ich denke mal, dass auf dem einen Server PHP ohne Grafikbibliotheken laufen, auf dem anderen mit. aber, schau einfach mal in den Quelltext der Seite, auf dessen Server das Script nicht läuft. Da steht der Fehlergrund in der Regel drin, auch wenn dieser nicht sichtbar im Browserfenster ist.
@ Sturmrider:
Es bleibt jedem selbst überlassen, wie er coded. jeder hat da seinen eigenen Style, und das ist auch gut so. Deshalb solche Comments einfach für sich behalten
-
Probier mal Folgendes und rufe das Skript direkt auf:
PHP-Code:<?php
header('Content-Type: text/plain');
$bild = imagecreatefrompng("d.png");
$Datum = "14.04.2007 10:05:00";
// Schrift
$Zieldatum = mktime(substr($Datum, 11, 2), substr($Datum, 14, 2), substr($Datum, 17, 2), substr($Datum, 3, 2), substr($Datum, 0, 2), substr($Datum, 6, 4), -1);
$Differenz = $Zieldatum-time();
$Tage = floor($Differenz/86400);
$Rest = $Differenz-($Tage*86400);
$Stunden = floor($Rest/3600);
$Rest = $Rest-($Stunden*3600);
$Minuten = floor($Rest/60);
$Rest = $Rest-($Minuten*60);
$Zeit = "T:$Tage - H:$Stunden - M:$Minuten - S:$Rest";
$blau = imagecolorresolve($bild, 47, 214, 250);
$hinter = imagecolorresolve($bild, 255, 255, 255);
imagecolortransparent($bild, $hinter);
imagestring($bild, 7, 5, 1, "$Zeit", $blau);
if( !header_sent() ) {
header("Content-type:image/png");
imagepng($bild);
}
imagedestroy($bild);
?>Markus Wulftange
-
09.02.07 22:55 #5
- Registriert seit
- Mar 2006
- Beiträge
- 217
@TchiboMann
oh, wusste ich nicht, dass die phpinfo()-Informationen für andere ein Sicherheitsrisiko darstellen. Warum? (habe mich erlichgesagt noch nicht so ausführlich mit ihr beschäftigt)
Übrigens habe ich das gleiche mit GD-Lib bereits gemeint
Was die Sache mit meiner kleinen Anregung betrifft, die ist nicht böse, sondern gut gemeint
->wir wollen uns ja alle weiterentwickeln oder nicht
?
Über 1. kann man natürlich streiten (was ich nicht vor habe
!)
kurze Begründung warum ich das dachte: man schreibt KlassenNamen ja normalerweise am Anfang groß, deswegen sollte man für die bessere Unterscheidung/Übersicht [finde ich] variablenNamen klein beginnen
-
09.02.07 23:05 #6
- Registriert seit
- Dec 2001
- Ort
- Magdeburg [Sachsen-Anhalt]
- Beiträge
- 62
@Gumbo nun erhalte ich folgende Fehlermeldung "Fatal error: Call to undefined function header_sent() in /public_html/countdown/d1.php on line 21"
GD ist installiert und auch enabled
@Sturmride hast schon recht, bissel was einheitlich sollte man schon haben
MfG MS[shady]
-
09.02.07 23:06 #7
- Registriert seit
- Sep 2005
- Ort
- Lübeck
- Beiträge
- 174
naja, die Informationen, die PHP ausspuckt, sind ja reichlich. Sprich, er gibt auch Module des Apache Webservers aus, und die Apache-Version, und ob PHP als CGI installiert ist usw. Das alles kann nem Hacker als angriffsziel dienen - denn all diese Programme können dokumentierte und nicht-dokumentierte Sicherheitslücken aufweisen, teilweise eventuell gravierende.
Ich sag immer: Gib so wenig wie nur irgend möglich an Informationen über deinen Server raus - dann erst bist du auf einer sichereren Seite (nicht der sichersten
).
Naja, okay, mag sein dass man wegen der Übersicht variablen kleinSchreiben sollte. Aber - es liegt eben im Ermessen des Programmierers, was ihm besser passt. Von dahher sag ich da nich ein Ton dazu
Steht mir nicht zu, darüber zu urteilen 
Was ich allerdings hasse, sind Coder, die ihren Code nicht einrücken, da werd ich sogar sauer
aber alles andre soll mir eben egal sein =)
Achjo, das mit der GD-Lib
Da hatteste hinterhergeschossen, dass du das doch eher ausschliesst
darum hab ich das nochmal erwähnt, nicht um dich zu ärgern
-
Tippfehler: die gemeinte Funktion heißt „headers_sent()“. Das hättest du aber auch selbst herausfinden können.
Markus Wulftange
-
09.02.07 23:18 #9
- Registriert seit
- Dec 2001
- Ort
- Magdeburg [Sachsen-Anhalt]
- Beiträge
- 62
@Gumbo sorry, bin schon müde

kann das Zeichenwirrwar leider nicht kopieren darum hab ich ne jpg Datei angehangenMfG MS[shady]
-
09.02.07 23:34 #10
- Registriert seit
- Mar 2006
- Beiträge
- 217
*lacht* soetwas finde ich klasse

Wenn man sich mit Leuten gut und gesittet unterhalten kann!
@TchiboMann du bist mir sympathisch
auch schon, da du eine Antipathie gegen nicht eingerückte Codes hegst *lol*
Noch ne kurze Anmerkung zur phpinfo(). Ich habe mich da eben mal informiert:
Streng genommen stellt sie kein Sicherheitsrisiko dar, allerdings praktisch schon. So können, wie du bereits geschrieben hast, gelegentlich mal Lücken drin gefunden werden, die es erleichtern verwundbare Systeme aufzufinden. Allerdings NICHT das Angreifen erleichtern
(grundsätzlich könnte ein Bot auch einfach jeden Host angreifen)
Problem bei der veröffentlichen der phpinfo() wäre z.B. man kann man mit geeigneten Anfragen bei google alle Hosts finden, die noch eine alte libgd verwenden ->wenn google eine phpinfo-Datei indexiert hat
Sry, das gehört nicht ganz zum Thema, doch ich wollte das noch richtig stellen
-
Das bezeichnete Zeichenwirrwarr ist der binäre Quellcode der Grafik. Daher scheint es zu funktionieren. Nur die Klassifizierung als PNG scheint nicht zu klappen. Ich hoffe, dass „Content-Type“ in den beiden Fällen nicht identisch geschrieben ist, ist nicht die Ursache. Aber probier’s mal aus.
Markus Wulftange
-
09.02.07 23:51 #12
- Registriert seit
- Dec 2001
- Ort
- Magdeburg [Sachsen-Anhalt]
- Beiträge
- 62
Nein es ist nicht gleich geschrieben.
MfG MS[shady]
-
Markus Wulftange
-
10.02.07 00:08 #14
- Registriert seit
- Dec 2001
- Ort
- Magdeburg [Sachsen-Anhalt]
- Beiträge
- 62
Sorry
Nein das ich nicht die Ursache.
Bin erstmal pennen *g*
MfG MS[shady]
-
10.02.07 00:26 #15
- Registriert seit
- Sep 2005
- Ort
- Lübeck
- Beiträge
- 174
@ sturmrider
8)
Joh, hab da ein komplettes, nicht einmal kostenloses CMS... extrem mies programmiert, und nicht ein bischen eingerückt der Code. echt brutal zu lesen und zu verstehen, da werd ich jedes mal sauer wenn ich im Code etwas suchen muss

Okay, wenn man es streng nimmt ist phpinfo(); sicherlich keine übliche Sicherheitslücke, ist natürlich klar
aber besser ist, man betrachtet ist (vielleicht für sich) als Lücke, seh ich jedenfalls so 
Okay, zurück zum eigentlichen Thema...
könnte eventuell deshalb nicht funktionieren, weil der header am anfang der datei ist, ich weiss nicht wieso, keine ahnung. aber bei mir hatte das auch nicht funktioniert. ich hab es so gemacht:PHP-Code:<?php
header("Content-type:image/png");
$bild = imagecreatefrompng("d.png");
$Datum = "14.04.2007 10:05:00"; // Schrift
$Zieldatum = mktime(substr($Datum, 11, 2), substr($Datum, 14, 2), substr($Datum, 17, 2), substr($Datum, 3, 2), substr($Datum, 0, 2), substr($Datum, 6, 4), -1);
$Differenz = $Zieldatum-time();
$Tage = floor($Differenz/86400);
$Rest = $Differenz-($Tage*86400);
$Stunden = floor($Rest/3600);
$Rest = $Rest-($Stunden*3600);
$Minuten = floor($Rest/60);
$Rest = $Rest-($Minuten*60);
$Zeit = "T:$Tage - H:$Stunden - M:$Minuten - S:$Rest";
$blau = imagecolorresolve($bild, 47, 214, 250);
$hinter = imagecolorresolve($bild, 255, 255, 255);
imagecolortransparent($bild, $hinter);
imagestring($bild, 7, 5, 1, "$Zeit", $blau);
imagepng($bild);
imagedestroy($bild);
?>
Anmerkung: imagepng() hat bei mir noch zwei zusätzliche Parameter, ich habe aber keine Ahnung, wozu die sind. bei letzterem denke ich mal, dass es wohl die Qualität beschreiben soll. jedenfalls funktioniert das so bei mir einwandfrei... eventuell kannst du ja auch imagejpg() ausprobieren. Hab gelesen, dass bei GDlib < v.1.6 imagepng() nicht funktioniert.PHP-Code:<?php
$bild = imagecreatefrompng("d.png");
$Datum = "14.04.2007 10:05:00"; // Schrift
$Zieldatum = mktime(substr($Datum, 11, 2), substr($Datum, 14, 2), substr($Datum, 17, 2), substr($Datum, 3, 2), substr($Datum, 0, 2), substr($Datum, 6, 4), -1);
$Differenz = $Zieldatum-time();
$Tage = floor($Differenz/86400);
$Rest = $Differenz-($Tage*86400);
$Stunden = floor($Rest/3600);
$Rest = $Rest-($Stunden*3600);
$Minuten = floor($Rest/60);
$Rest = $Rest-($Minuten*60);
$Zeit = "T:$Tage - H:$Stunden - M:$Minuten - S:$Rest";
$blau = imagecolorresolve($bild, 47, 214, 250);
$hinter = imagecolorresolve($bild, 255, 255, 255);
imagecolortransparent($bild, $hinter);
imagestring($bild, 7, 5, 1, "$Zeit", $blau);
// Hier header ausgeben und Bild erstellen...
header("Content-type:image/png");
//bild erstellen
imagepng($bild, '', 100);
imagedestroy($bild);
?>
Ähnliche Themen
-
Session funktionieren auf einem jedoch nicht auf dem anderen Server
Von -GS-Master im Forum PHPAntworten: 2Letzter Beitrag: 21.01.07, 19:59 -
Kontaktformular – auf einem Server gehts auf dem anderen nicht
Von akdesign im Forum PHPAntworten: 16Letzter Beitrag: 10.11.06, 10:49 -
Script geht auf einem Server und auf dem andern nicht
Von funnyzocker im Forum PHPAntworten: 10Letzter Beitrag: 13.04.06, 21:16 -
Dateien von einem Server zu einem anderen Server übertragen
Von qsrs im Forum PHPAntworten: 4Letzter Beitrag: 02.10.05, 14:50 -
Shoutbox bei einem Server funktionstüchtig beim anderen nicht
Von Andreas703 im Forum PHPAntworten: 8Letzter Beitrag: 03.09.05, 20:08





Zitieren

Login






[PHP] [Codeschnipsel] ImageColor aus HTML-Farbcodierung erstellen