PhpMyNewsLetter 2.0

Support et annonces PhpMyNewsLetter.

Vous n'êtes pas identifié(e).

Annonce

Pour me permettre de mieux vous aider au mieux, merci d'être le plus précis possible en donnant :
- la version de phpmynewsletter utilisée
- votre hébergement : personnel, dédié, mutualisé
- votre hébergeur (OVH, free, Infomaniak, 1and1,...)
- votre OS : linux, windows
- version de PHP (5.3, 5.6, 7.0, hhvm...)
Toutes les réponses à mes questions qui sont sans retour de votre part seront considérées comme résolues !

#1 02-06-2017 13:30:14

Imago
Membre

[Résolu] Bug du Script d' upgrade sur OVH Mutualisé 403 Forbidden

Au moment du téléchargement j'avais une erreur de type accès interdit :

403 Forbidden You don't have permission to access /upgrade.php

Je semble ne pas être le seul à avoir ce problème, je partage donc ma solution. J'ai modifié le fichier pour le faire fonctionner sur notre serveur mutualisé.

Ligne 386
                echo "<div align='center'><h4 class='alert_info'><a href='upgrade.php?op=download&p=$PATH_BACKUP_CURRENT_VERSION' 
			style='color:black'>Cliquer pour continuer / click to continue : téléchargement nouvelle verrsion / Download new version</a></h4></div>";
                break;
            case 'download':
                include_once('include/config.php');
                $VERSION_TO_UPGRADE = $pmnl_version;
                $PATH_BACKUP_CURRENT_VERSION = (empty($_GET['p']) ? "" : $_GET['p']);
                if (!is_dir($PATH_BACKUP_CURRENT_VERSION)) {
                    die("<h4 class='alert_error'>Erreur sur vérification du répertoire de travail : $PATH_BACKUP_CURRENT_VERSION/ ! Répertoire inconnu<br>
            Error while checking for working path : $PATH_BACKUP_CURRENT_VERSION/ ! Bad path</h4>");
                }
                $URL_FILE_NEW_VERSION = 'https://www.phpmynewsletter.com/versions/' . getVersion() . '/phpmynewsletter.zip';
                $FILE_TO_UNZIP = $PATH_BACKUP_CURRENT_VERSION . '/' . $PATH_BACKUP_CURRENT_VERSION . '.zip';

                $url = $URL_FILE_NEW_VERSION;
                $path = $FILE_TO_UNZIP;

                $newfname = $path;
                $file = fopen($url, 'rb');
                if ($file) {
                    $newf = fopen($newfname, 'wb');
                    if ($newf) {
                        while (!feof($file)) {
                            fwrite($newf, fread($file, 1024 * 8), 1024 * 8);
                        }
                    }
                }                
                if ($file) {
                    fclose($file);
                    if ($newf) {
                         fclose($newf);
                        echo "<h4 class='alert_success'>Téléchargement nouvelle version OK !<br>
                Download new version OK !</h4>";
                    } else {
                        die("<h4 class='alert_error'>Erreur sur écriture du fichier téléchargé !<br>
                Error while writing downloaded file !</h4>");
                    }
                } else {
                    die("<h4 class='alert_error'>Erreur sur téléchargement du nouveau fichier !<br>
            Error while downloading new file !</h4>");
                }  
Ligne 290

Bonus :

ya une petite erreur ici aussi mais sans gravité (les ; au mauvais endroit ):

        <style>
            body{margin:50px;padding:50px;}
            hr{height:10px;border:0;box-shadow:0 5px 5px -5px #8c8b8b inset;}
            p{margin:10px;padding:10px;}
        </style>

Dernière modification par Imago (02-06-2017 13:34:45)

Hors ligne

#2 02-06-2017 13:43:56

Arnaud
Administrateur

Re : [Résolu] Bug du Script d' upgrade sur OVH Mutualisé 403 Forbidden

Bonjour Imago, et surtout bienvenue sur le forum de support.

Effectivement, j'ai caffouillé le css, c'est rectifié sur le script upgrade.php disponible pour mise à jour.

Par contre, ligne 386, tu veux parler du file_get_contents ?
OVH mutu ne le connait pas, c'est ça ? (Fonction désactivée ?)

Je ne suis pas sûr de bien comprendre, merci de m'éclairer (et j'améliorerai en conséquence, bien évidemment)

Merci,
Arnaud


Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide  wink

Hors ligne

#3 02-06-2017 14:09:44

Imago
Membre

Re : [Résolu] Bug du Script d' upgrade sur OVH Mutualisé 403 Forbidden

Ce n'est qu'une supposition, le problème étant aléatoire avec l'hébergeur mais je pense que suivant le niveau de sécurité appliqué l'utilisation du mot clé "wget" dans une requête GET + l'utilisation de "file_get_contents" déclenche le par feu applicatif qui bloque la requête au niveau du serveur.

De plus la fonction file_get_contents est réputée pour poser des problème avec le SSL ou l'UTF-8, et l'utilisation est déconseillé.

j'y pense que maintenant, mais normalement pour ce genre de requête sensible on utilise généralement un/des try{} catch{} plutôt que des if{}

Hors ligne

#4 02-06-2017 14:12:54

Arnaud
Administrateur

Re : [Résolu] Bug du Script d' upgrade sur OVH Mutualisé 403 Forbidden

OK, j'avoue !

Etant un vieux développeur qui fuit les frameworks ( big_smile  big_smile ), certaines bonnes pratiques m'échappent ! Suis plutôt en mode From Scratch...
Je considère donc que ton paragraphe est une proposition d'amélioration, et vais donc la tester pour MEP (Mise en prod).

Merci beaucoup, et à noter que toutes les propositions d'amélioration du code sont les bienvenues (sans framework, l'outil est spécifique).

Arnaud


Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide  wink

Hors ligne

Pied de page des forums

Propulsé par FluxBB