SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 02.01.2005, 17:46:27
Spike15 Spike15 ist offline
Anfänger
 
Registriert seit: Jun 2004
Beiträge: 119
getimagesize

Hoi leutz wollte mal fargen warum bei mir immer error kommt wenn ich den code hier mit in ein uploadscript rien mache.

$type = getimagesize($file_name);
$type = $type['1'];

damit will ich die Breite des Bildes ermitteln.

$file_name kommt vom formular und hat den filename , also die vom Bild.

danke.


Hier das Script:

Ich habe es nur zum testen benutzt, es soll auch garnet online gehen deswegen auch alte schreibweise usw.

PHP-Code:
<html>
<body>
<?
if ($hochladen)
{
$ordner = "upload";
$abfrage = "okay";
$size = "30000";


if (empty($file_name))
{
die("Du musst eine Datei wählen.");
}

if (!strstr($file_type,"pjpeg"))
{
  if (!strstr($file_type,"gif"))
  {
  die("Du hast keine Bilddatei angegeben, erlaubt sind nur gif und jpg.");
  }
}

if (file_exists("$ordner/$file_name"))
{
die("Der Name der Datei existiert schon.");
}

if ($abfrage == "okay")
{
  if ($file_size > $size)
  {
  die("Die Bilddatei ist zu groß, es sind nur $size Byte erlaubt.");
  }
}

$upload = "$file_name";
@copy($file, "$ordner/$upload") or die("Datei konnte nicht hochgeladen werden.");
echo "Datei wurde hochgeladen."

}

else {
?>
<form action="upload.php" method="post" enctype="multipart/form-data">
<p>Bitte Bild auswählen:<br>
<input type="file" name="file">
<p><input name="hochladen" type="submit" value="Hochladen">
</form>
<?
}
?>
</body>
</html>
Das ist jetzt das script ohne getimagesize.

Ich weiß nicht wie ich es schreiben soll und wo, deshalb frage ich euch, wiel getimagesize geht einfach net!


danke
Mit Zitat antworten
  #2  
Alt 02.01.2005, 21:21:01
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Wenn du zum Verarbeiten des Formulares das $_FILES-Array verwendest kannst du die Ausmaße des Bildes mit
PHP-Code:
<?php
    $size 
getimagesize($_FILES['file']['tmp_name']);
?>
ermitteln.
Mit Zitat antworten
  #3  
Alt 03.01.2005, 17:24:22
Spike15 Spike15 ist offline
Anfänger
 
Registriert seit: Jun 2004
Beiträge: 119
okay vielen dank!


Ist es jetzt von der schreibweise pokay so?

PHP-Code:
<html>
<body>
<?
if ($hochladen)
{
$ordner = "upload";
$abfrage = "okay";
$size = "30000";
$hight = getimagesize($_FILES['file']['tmp_name']);
$hight = $hight['1'];
$width = getimagesize($_FILES['file']['tmp_name']);
$width = $width['0'];
$pixel1 = "100";
$pixel2 = "100";

if (empty($_FILES['file']['name']))
{
die("Du musst eine Datei wählen.");
}

if ($width > $pixel1 OR $hight > $pixel2)
{
die("Dein Bild ist zu groß, du musst die Maße $pixel1 * $pixel2 einhalten.");
}

if (!strstr($_FILES['file']['type'],"pjpeg"))
{
  if (!strstr($_FILES['file']['type'],"gif"))
  {
  die("Du hast keine Bilddatei angegeben, erlaubt sind nur gif und jpg.");
  }
}

if (file_exists("$ordner/".$_FILES['file']['name'].""))
{
die("Der Name der Datei existiert schon.");
}

if ($abfrage == "okay")
{
  if ($_FILES['file']['size'] > $size)
  {
  die("Die Bilddatei ist zu groß, es sind nur $size Byte erlaubt.");
  }
}

$upload = "".$_FILES['file']['name']."";
@copy($file, "$ordner/$upload") or die("Datei konnte nicht hochgeladen werden.");
echo "Datei wurde hochgeladen.";

}

else {
?>
<form action="upload.php" method="post" enctype="multipart/form-data">
<p>Bitte Bild auswählen:<br>
<input type="file" name="file">
<p><input name="hochladen" type="submit" value="Hochladen">
</form>
<?
}
?>
</body>
</html>
von der Sicherheit her, sind da jetzt noch große Sicherheitslücken?

kann man das Script ketzt irgendwie noch austricksen?

Danke!

Geändert von Spike15 (03.01.2005 um 17:35:30 Uhr)
Mit Zitat antworten
  #4  
Alt 03.01.2005, 18:24:53
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
PHP-Code:
$hight getimagesize($_FILES['file']['tmp_name']);

$hight $hight['1'];

$width getimagesize($_FILES['file']['tmp_name']);

$width $width['0']; 
Würde ich so machen:
PHP-Code:
<?php
    $size 
getimagesize($_FILES['file']['tmp_name']);
    
$height $size[1];
    
$width $size[0];
?>
Mit Zitat antworten
  #5  
Alt 03.01.2005, 19:05:54
Spike15 Spike15 ist offline
Anfänger
 
Registriert seit: Jun 2004
Beiträge: 119
okay gut, aber sonst sind keine Sicherheitslücken drinne oder?
Mit Zitat antworten
  #6  
Alt 03.01.2005, 19:14:55
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Zitat:
Original geschrieben von Spike15
okay gut, aber sonst sind keine Sicherheitslücken drinne oder?
Ich würde auch beim koperien auf $_FILES['file']['tmp_name'] statt $file zugreifen. Außerdem könnte man auch Bilder hochladen, die größer als erlaubt sind, in dem man einfach an die URL noch ?abfrage=okay anhängt.
Mit Zitat antworten
  #7  
Alt 04.01.2005, 19:43:34
Spike15 Spike15 ist offline
Anfänger
 
Registriert seit: Jun 2004
Beiträge: 119
mhh okay dann nheme ich das erste if also das mit okay weg dann dürfe aber keine sicherheitslücke drinne sein oder?
Mit Zitat antworten
  #8  
Alt 05.01.2005, 10:38:45
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Du kannst auch vor if($hochladen) ein unset($abfrage) machen.
Oder du deaktivierst register_globals.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:25:14 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt