php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 2 Stimmen, 5,00 durchschnittlich.
  #16 (permalink)  
Alt 30-05-2008, 10:46
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Das ganze htmlspecialchars Gedöns ist völlig überflüssig!!
Auch die slash verwurstung ist, nunja, unvollkommen.
Benutze die Escape Funktion des DB Treibers wenn nötig.
Welche DB verwendest du überhaupt?

Auch das jpg Gedöns ist falsch, denn es ist ja gar kein Jpg, oder?
__________________
Wir werden alle sterben
Mit Zitat antworten
  #17 (permalink)  
Alt 30-05-2008, 10:54
aSkInG
 Newbie
Links : Onlinestatus : aSkInG ist offline
Registriert seit: Aug 2006
Beiträge: 13
aSkInG ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Doch zu testzwecken ist es noch ein jpg. nachher wird das für das favicon angepasst.

ich habe jetzt anstelle jpeg jpg genommen.

Wieso ist das htmlspecialchars und slashes unsinnig? Was ich so gelesen habe, da steht das man das eigentlich immer machen sollte. Nun ja, ich kann das auch wegnehmen. Ich nutzte MySQL.

Nun ich habe auch schon einen kleinen Erfolg, und zwar wird ein kleiner Teil des Bildes auch angezeigt. Aber danach bleibt alles weiß

Hier mal den Code von makeimage.php
PHP-Code:
header("Content-type: image/jpg");
include(
"../config/config.php");
include(
"../includes/functions.php");
$id $_GET['id'];
$db DB_CONNECT($DB_HOST$DB_USER$DB_PASSWORT$DB_NAME);
$abfrage "SELECT seiten.favicon FROM seiten WHERE seiten.id = '$id'";
$result $db->query($abfrage);
$result =  $result->fetch_assoc();
$favicon htmlspecialchars_decode($result['favicon']);
$favicon stripslashes($favicon);


echo 
$favicon
Mit Zitat antworten
  #18 (permalink)  
Alt 30-05-2008, 11:07
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Zitat:
Wieso ist das htmlspecialchars und slashes unsinnig? Was ich so gelesen habe, da steht das man das eigentlich immer machen sollte. Nun ja, ich kann das auch wegnehmen. Ich nutzte MySQL
Schmeiß das Buch weg...


Nutze nur bei dem Eintragen: mysql_real_escape_string()

Beim Lesen brauchst du nix zu machen. Nur die richtigen Header setzen und zum Browser schicken.
__________________
Wir werden alle sterben
Mit Zitat antworten
  #19 (permalink)  
Alt 30-05-2008, 11:22
aSkInG
 Newbie
Links : Onlinestatus : aSkInG ist offline
Registriert seit: Aug 2006
Beiträge: 13
aSkInG ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok, werde ich mir merken.
Du scheinst kein Anhänger von htmlspecialchars zu sein etc. Darf ich nebenbei fragen warum?

UNd dann noch was. Ich habe den Header ja nun richtig gesetzt und ich bekomme ja uach daten angezeigt. Aber nicht die Bilder.

http://www.webby24.de/test/admin/makeimage.php?id=6
da mal ein Link ohne Bild
und hier eins mit einem halebn bild:
http://www.webby24.de/test/admin/makeimage.php?id=73
Mit Zitat antworten
  #20 (permalink)  
Alt 30-05-2008, 11:36
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Zitat:
Du scheinst kein Anhänger von htmlspecialchars zu sein etc. Darf ich nebenbei fragen warum?
Ich bin ein ausgesprochener Fan von htmlspecialchars() und htmlentities() !!

"Image-binär-Daten" !== "HTML"
Oder?


Diese beiden Funktionen sind bei der Erzeugung von HTML ungemein hilfreich!
Aber du willst ja kein HTML erzeugen, sondern ein Bild in der DB speichern. Also sind es definitiv die falschen Funktionen für diesen Zweck.

Schau dir die Seiten im Handbuch nochmal ganz genau an:
http://de3.php.net/manual/de/functio...ecialchars.php
http://de3.php.net/manual/de/function.htmlentities.php
Steht das irgend etwas über DBs oder so...?


Zeige doch mal deinen Code wie er jetzt aussieht!
Das Lesen und das Schreiben.
__________________
Wir werden alle sterben

Geändert von combie (30-05-2008 um 11:39 Uhr)
Mit Zitat antworten
  #21 (permalink)  
Alt 30-05-2008, 11:47
aSkInG
 Newbie
Links : Onlinestatus : aSkInG ist offline
Registriert seit: Aug 2006
Beiträge: 13
aSkInG ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Okay,

ich habe aber eine andere MySQL Verbindung, daher will mysql_real_escape_string nicht. DAher habe ich einfach alles rausgenommen.

Hier erstmal die Formular Daten:
PHP-Code:
if(isset($_FILES['favicon']['tmp_name']) && $_FILES['favicon']['tmp_name'] != '')
                    {
                        
// Hier unbedingt noch mal überprüfen, ob es sich um die richtige Größe etc. handelt!
                        // Alles andere löschen!
                        
$favicon $_FILES['favicon']['tmp_name'];
                        
$size $_FILES['favicon']['size'];
                        
$image fopen($favicon'r');
                        
$inputdata fread($image$size);
                        
//$inputdata = htmlspecialchars($inputdata);
                        //$inputdata = addslashes($inputdata);
                        
                        //$favicon = htmlspecialchars($favicon);
                        //$favicon = addslashes($favicon);
                    
} else {
                        
$favicon NULL;
                    } 
nun das senden und ausführen an die DB
PHP-Code:
// Es wurden nun alle empfangenen Daten in kurze Variablen gespeichert!!!!
                    // Nun alle Daten in die Datenbank eingeben und bei Erfolg, eine Erfolgsmeldung ausgeben.
                    
$db DB_CONNECT($DB_HOST$DB_USER$DB_PASSWORT$DB_NAME);
                    
$select "INSERT INTO seiten VALUES ('" $id "', '" $name 
"', '" $menuname ."', '" $menu "', '" $inhalt 
"', '" $inputdata "', '" $meta_name 
."', '" $meta_keys ."', '" $meta_author 
"', '" $meta_beschreibung "', '" 
$meta_titel ."','" $guestbook ."')";
                    
$doIt $db->query($select);
                    if(
$doIt)
                    {
                        echo 
'<h1>Gratulation!</h1><p>Alle Daten wurden erfolgrecih eingespeichert!</p>
<p><a href="einstieg.php?PageId=seiten">Hiermit kehren Sie zur Administrationsoberfläche Zurück.</a>
</p>'
;
                    } 
Nun die makeimage.php
PHP-Code:
<?php
header
("Content-type: image/jpeg");
include(
"../config/config.php");
include(
"../includes/functions.php");
$id $_GET['id'];
$db DB_CONNECT($DB_HOST$DB_USER$DB_PASSWORT$DB_NAME);
$abfrage "SELECT seiten.favicon FROM seiten WHERE seiten.id = '$id'";
$result $db->query($abfrage);
$result =  $result->fetch_assoc();
//$favicon = htmlspecialchars_decode($result['favicon']);
//$favicon = stripslashes($favicon);


echo $result['favicon'];

?>
Na ja da hast du recht. Ich habe nur gelernt, das alles was in die DB rein geschrieben werden soll, so escapet werden sollte. Daher mache ich das.
Mit Zitat antworten
  #22 (permalink)  
Alt 30-05-2008, 11:52
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Gar nichts machen kann doch auch nur falsch sein!
Ohne das mysql_real_escape_string() wirds nichts!

Was "eine andere Verbindung" ist, weiß ich auch nicht...
Da bildest du dir was ein.

Und die sind ja immer noch da:
$favicon = htmlspecialchars_decode($result['favicon']);
$favicon = stripslashes($favicon);

Ich habe dir alles geschrieben, was ich dazu weiß!
Mach was draus....
__________________
Wir werden alle sterben

Geändert von combie (30-05-2008 um 11:56 Uhr)
Mit Zitat antworten
  #23 (permalink)  
Alt 30-05-2008, 11:54
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von aSkInG

ich habe aber eine andere MySQL Verbindung, daher will mysql_real_escape_string nicht. DAher habe ich einfach alles rausgenommen.
mysqli_real_escape_string()
__________________
Gruss
H2O
Mit Zitat antworten
  #24 (permalink)  
Alt 30-05-2008, 12:02
aSkInG
 Newbie
Links : Onlinestatus : aSkInG ist offline
Registriert seit: Aug 2006
Beiträge: 13
aSkInG ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke!

An euch beide!
es hat funktioniert! Ich kam wieder nicht auf das i, das verdammte

So klappt auch alles.

Ach ja, noch eins, ich danke dir für deine geduld, doch bin ich nicht beratungsresitent, ich habe lediglich vergessen die hier auszuklammern

Zumal ich das testen wollte, ob es so besser ist. War nicht der Fall. Habe ich erkannt.

Danke nochmal
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:49 Uhr.