CHMOD et Amen pour snews

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : CHMOD et Amen pour snews

par jpsartre » 05 sept. 2006, 16:30

Merci beaucoup pour ton aide, je vais mettre la réponse sur le forum de snews. J'ai juste changé la fonction.
Toutes mes questions sont résolues sur ce forum.
Vous êtes des bons
Merci encore

par jpsartre » 05 sept. 2006, 16:16

Merci pour ton aide.

J'ai suivi les liens et j'ai vu que :
n'est pas affectée par les restrictions liées au safe mode et à l'open_basedir
Pourrais-tu m'en dire un peu plus sur la manière dont je dois m'y prendre.
Pas évident ce pb pour moi, très difficile de comprendre ce code.
Si tu peux encore m'éclairer?

Merci

par Ryle » 05 sept. 2006, 16:11

Pourquoi faire un copy() et pas un move_uploaded_file() ?

Il y a peu de chance que le fichier uploadé soit dans le même dossier que le script. Il te manque donc à mon avis le chemin vers le dossier temporaire. Autant utiliser le move_uploaded_file() qui est fait pour ça et connait le chemin configurer sur le serveur, ce qui n'est pas nécessairement le cas du développeur :)

par jpsartre » 05 sept. 2006, 15:56

J'oubliais, la ligne 1665 est :
 $upload_dir = s('image_folder') ."/"; 
Merci

CHMOD et Amen pour snews

par jpsartre » 05 sept. 2006, 15:45

Bonjour,
Un utilisateur de votre forum m'avait aidé à réparer un bug lors de l'upload d'images vers Amen. Avec ce code:
$oldumask = umask(0); 
mkdir('../abonnes/images/'.$id.'/', 0777);  
umask($oldumask); 
J'essaye d'installer sNews et je rencontre cete erreur :
Warning: copy(): open_basedir restriction in effect. File(/tmp/phpff9B8r) is not within the allowed path(s): (.:/home/sites) in /home/sites/site2/web/snews14/snews.php on line 1665
Le code est le suivant :
//********
// IMAGES 
//********
function images() { 
	if (isset($_GET['image'])) {
		$file_to_delete = s('image_folder') ."/". $_GET['image'];
		unlink($file_to_delete); 
		echo "<h2>". l('deleted_success') ."</h2><p><a href='" .s('website'). "images/'>". l('back') ."</a></p>";
	} else { ?>
	<h2><? echo l('images'); ?></h2>
	<form name="imageformauthenticate" method="post" action="" enctype="multipart/form-data"></form>
	<form name="imageform" method="post" action="" enctype="multipart/form-data">
		<p><br /><? echo l('upload_image'); ?>:</p>
		<p><input type="file" name="imagefile" />
		<input type="submit" name="upload" value="<? echo l('upload'); ?>" /><br /></p>
	</form> <?
	if(isset( $_POST['upload'] )) {
		if ($_FILES['imagefile']['type']){ 
			$upload_dir = s('image_folder') ."/";	 
			copy ($_FILES['imagefile']['tmp_name'], $upload_dir .$_FILES['imagefile']['name']) or die ("Could not copy"); 
        	echo "<div class=\"".s('css_success')."\"><h2>" .l('operation_completed'). "</h2></div>";
			$kb_size = round(($_FILES['imagefile']['size'] / 1024), 1);
        	echo "<p><b>".$_FILES['imagefile']['name']. "</b>  [ " .$kb_size. " KB ] [ " .$_FILES['imagefile']['type']." ]";
    	} else {
            echo "<h2>" .l('admin_error'). "</h2>";
            echo "<p>" .l('image_error'). "</p>";
    	}
	} else {
		$upload_dir = s('image_folder') ."/";
    	$handle= opendir($upload_dir);
		$filelist = "";
		while ($file = readdir($handle)) {
   		if(!is_dir($file) && !is_link($file) && $file <> "Thumbs.db") {
	    	$filelist .= "<a href='$upload_dir$file'>".$file."</a> [ <a href='" .s('website'). "index.php?action=images&task=delete&image=" .$file. "'".if_javascript_on(" onclick='return confirm(\"".l('warning_delete')."\");'",'return').">Delete</a> ]<br />";
    }}
	echo "<h2>". l('saved_images') .":</h2>";
	echo "<p>" .$filelist. "</p>";
}}}
Je n'arrive pas à réparer ce problème en utilisant umask, j'ai tout essayé, c'est peut-être absurde. J'ai cherché partout avant, et aussi sur le forum de sNews mais je n'arrive pas à trouver la solution.
Si quelqu'un peut m'aider,

Merci d'avance