• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

probleme mit rechte!?

Status
Für weitere Antworten geschlossen.

Fätzminator

Neues Mitglied
hallo zusammen

ich hab ein script, dass hauptsächlich die bilder skaliert und in nem unterordner verkleinert als preview speichert!
zu hause und im geschäft läuft alles wunderbar, doch schaut was hier passiert:
www.jungwachtbuelach.ch/hp2006/pic/function_resize.php
ich habe nun noch extra chmod(755) mit existenzabfrage der datei eingebaut, doch es will immer noch nicht...
habe ich hier zu wenig rechte aufm server?

mfg, fätzminator

PS: php version ist kein problem
 
Werbung:
wem gehoeren die dateien.
was ergibt
[php:1:ba21066875]
<?php
echo `whoami`;
?>
[/php:1:ba21066875]
(das sind akzente!)
 
Warning: shell_exec(): Cannot execute using backquotes in Safe Mode in /home/httpd/vhosts/jungwachtbuelach.ch/httpdocs/hp2006/admin/rights.php on line 17
shit... läuft in save mode :(

[edit]
muss wohl an dem liegen, dass das script nicht funktioniert!?
--> ich habe diese aktion jetzt bei mir lokal gemacht, allerdings müssen die mods auch irgendwie gallerien hinzufügen und ändern können....
 
Werbung:
Code:
<?php
/***********************************************************************************/
/*                                                                                 */
/*                            K O N F I G U R A T I O N                            */
/*                                                                                 */
/***********************************************************************************/

$dir = "./mod_photos/";		// ["./x/y"]		// definiert den Stammordner --> ACHTUNG: include() beachten!!!
$small_dir = "small";				// ["x"]		// definiert den Unterordner, in dem die kleinen Bilder erstellt werden
$resize_size = "620";				// ["x" in px]		// definiert die max Breite & Höhe des Stammbildes
$resize_quality = "80";				// [in %]		// definiert die Qualität des Stammbildes
$new_size = "120";				// ["x" in px]		// definiert die max Breite & Höhe des neuen Bildes
$new_quality = "50";				// [in %]		// definiert die Qualität des neuen Bildes
$show = 1;					// [0 | 1]		// definiert, ob dem User die Ergebnisse angezeigt werden sollen

$handle=@opendir($dir);							// angegebener Ordner wird geöffnet
while($img_dir=@readdir($handle))					// geht den Inhalt des Ordners durch (Dateien UND Ordner)
	if(is_dir($dir.$img_dir) && $img_dir!="." && $img_dir!="..")	// prüft, ob das Element ein Ordner ist (also keine Datei und nicht "." / "..")
		img_config($dir.$img_dir."/", $new_size, $new_quality, $resize_size, $resize_quality, $small_dir);
									// ruft Funktion img_config() auf
if(count($ok_array) > 0 && $show==1) {
	for($i=0; $i<count($ok_array); $i++)
		echo $ok_array[$i]." gemacht
";
	echo "
[b]alles gemacht[/b]";
}

/***********************************************************************************/
/*                                                                                 */
/*                              M A R C   S C H M I D                              */
/*                               2 4 . 1 1 . 2 0 0 5                               */
/*                                  V   1 . 1 . 3                                  */
/*                                                                                 */
/* S C R I P T   Z U M   V E R Ä N D E R N   D E R   D A T E I G R Ö S S E   D E R */
/* B I L D E R   I M   S T A M M O R D N E R   &   S C R I P T   Z U M             */
/* E R S T E L L E N   V E R K L E I N E R T E R   V E R S I O N E N   A L L E R   */
/* B I L D E R   I M   U N T E R O R D N E R   " S M A L L "                       */
/*                                                                                 */
/* E S   W I R D   M I T   I M G _ C O N F I G ( P A R A M E T E R   1 , 2 , ) ;   */
/* A U F G E R U F E N                                                             */
/*                                                                                 */
/***********************************************************************************/

function img_config($dir, $new_size, $new_quality, $resize_size, $resize_quality, $small_dir) {

	global $ok_array;
	$handle=@opendir($dir);						// angegebener Ordner wird geöffnet

	if(!is_dir($dir.$small_dir))					// prüft, ob Unterordner $small_dir nicht existiert
		@mkdir($dir.$small_dir, 755);				// erstellt Unterordner $small_dir

	while($img=@readdir($handle)) {					// geht den Inhalt des Ordners durch (Dateien UND Ordner)
		if(is_file($dir.$img)) {				// prüft, ob das Element eine Datei ist (also kein Ordner)
			if(strtoupper(substr($img,-4))==".JPG" ||
				strtoupper(substr($img,-5))==".JPEG") {	// prüft, ob die Datei die Endung .jpg oder .JPG hat
				$img_size = getimagesize($dir.$img);
				if($img_size[0] > $resize_size || $img_size[1] > $resize_size)
									// prüft, ob das Bild grösser als die Vorgabe ist
					img_resize($dir, $resize_size, $resize_quality, $img, $small_dir, 0);
									// ruft Funktion img_new_resize() auf
									// "0" bestimmt, dass das Bild in Stammordner geschrieben wird
				if(!is_file($dir.$small_dir."/".$img))	// prüft, ob das kleine Bild im Unterordner $small_dir nicht existiert
					img_resize($dir, $new_size, $new_quality, $img, $small_dir, 1);
									// ruft Funktion img_new_resize() auf
									// "1" bestimmt, dass das Bild in Unterordner $small_dir geschrieben wird
			}
		}
	}

}

/***********************************************************************************/
/*                                                                                 */
/*                    F U N K T I O N   " I M G _ R E S I Z E "                    */
/*                                                                                 */
/***********************************************************************************/

function img_resize($dir, $new_size, $quality, $img, $small_dir, $OI) {	// die eigentliche Kopier- und Grössenveränderungsfunktion

	global $ok_array;
	$file = $dir.$img;

	$src_img = imagecreatefromjpeg($file);				// lädt Abbdild des Stammbildes in den Speicher
	$img_size = getimagesize($file);				// speichert die Grösse des Stammbildes

	$new_width = $new_size;
	$new_height = $new_size;
	if($img_size[0]>=$img_size[1])					// prüft, ob die Breite >= die Höhe des Stammbildes ist
		$new_height = $img_size[1]/$img_size[0]*$new_width;	// setzt die Höhe für das kleine Bild im Verhältnis zur Breite, die in $new_size gesetzt wurde
	else
		$new_width = $img_size[0]/$img_size[1]*$new_height;	// das Umgekehrte (Höhe <-> Breite) des Codes von 2 Zeilen weiter oben

	$new_img = imagecreatetruecolor($new_width,$new_height);	// erstellt Abbild einer neuen Datei im Speicher
	
	imagecopyresampled($new_img, $src_img, 0, 0, 0, 0, $new_width, $new_height, $img_size[0], $img_size[1]);
									// kopiert das Bild zur gewünschten Grösse in $new_img

	if($OI==1) {
		if(is_file($dir.$small_dir."/".$img))
			chmod($dir.$small_dir."/".$img, 0755);
		imagejpeg($new_img, $dir.$small_dir."/".$img, $quality);// speichert das grössenveränderte Bild im Ordner $small_dir
		$ok_array[] = $dir.$small_dir."/".$img;
	} else {
		if(is_file($dir.$img))
			chmod($dir.$img, 0755);
		imagejpeg($new_img, $dir.$img, $quality);		// speichert das grössenveränderte Bild im Stammordner
		$ok_array[] = $dir.$img;
	}

}

/***********************************************************************************/
/*                                                                                 */
/*                                     E N D E                                     */
/*                                                                                 */
/***********************************************************************************/
?>
mit viel liebe fürs geschäft geschrieben ;)
 
Werbung:
ich glaube du hast nicht die nötigen rechte, auf den ordner zuzugreifen um was reinzuladen, geschweige denn den chmod zu verändern.
 
komisch... php läuft zwar im save mode
aber sonst sollte ich alle rechte haben ;) immmerhin kostet der server ja auch genug.... :mrgreen:
 
Werbung:
ja nur mit welchem benutzer laueft php?
wenn das n anderer ist als der besitzer der ordner musst du schon xxx7 setzen (x = hier unwichtig) - und das ist extrem unsicher da ALLE! benutzer deine dateien loeschen koennen.
 
es gibt keinen standard . der haengt immer vom letzten umask ab.
meine php datein und ordner sind immer 500 weil ich eine selbstkompilierte php version habe (PHP5 fastCGI apache2-mod-suexec)
die php datein mit den rechten des benutzers ausfuehrt - d.h. man kann mit php immer nur alles in seinem eigenen homeordner loeschen
(hat mit mal den server gerettet - php hat ein rm -rf / gemacht wegen ner unaufachstamkein von mir)
normalerweise laueft php mit apache rechten - kann also auch apache killen!
 
Werbung:
also ich hab mal auf dem server geschaut:
ordner 755
dateien 644
ob ich nun die rechte bei den bildern ändern konnte, kann ich nicht sagen, da ich das ganze lokal ausgeführt hatte und dann das paket so geuploadet hatte (was verwunderlicherweise nur 2/5 so gross war, auch mit vorschau ;))
[qoute]normalerweise laueft php mit apache rechten - kann also auch apache killen![/qoute]
echt!?!?
 
ja und noch einige andere fiese sachen.
php standardinstallation ist ein sicherheitsloch ohne gleichen.
 
mal ne frage...
ausser ich kann ja eh niemand was verbocken von wegen sicherheitslöchern...!?
ausser natürlich ich mache zb include($_GET['site']); oder so was...
 
Werbung:
ich rede jetzt natuerlich von multi user systemen wo der "angreifer" ftp zugang zu einem php verzeichnis hat ;)
 
ah von so was...
da muss ich dich leider enttäuschen...
nen eigenen server (von loveandpeace.ch ) und nur einen benutzer für webinterface, ftp ua...
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben