teebo Posté(e) le 27 mai 2011 Auteur Partager Posté(e) le 27 mai 2011 J'ai trouv 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Moise44 Posté(e) le 27 mai 2011 Partager Posté(e) le 27 mai 2011 Bien vu DualG4, Chez moi çà marche impeccable comme çà. J'te l'ai dit teebo. rien de mieux qu'une vue d'un autre pour déverrouiller la situation...expérience de technicien oblige, je constate que c'est la même chose en progz ! Même si j'avais peu de doutes la dessus ! Bon bah il te reste a trouver pourquoi ces pu*** de caractèes spéciaux ne rentrent pas dans la base SQL et le script sera pret a l'emploi. Si DualG4 nous dit ou insérer ce bout de code qu'il nous a proposé, je suis preneur ! 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dualg4 Posté(e) le 27 mai 2011 Partager Posté(e) le 27 mai 2011 Quel con! C' 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
teebo Posté(e) le 27 mai 2011 Auteur Partager Posté(e) le 27 mai 2011 Je viens de finir. Il faut remplacer la function login par les 2 functions suivantes (et ensuite, refaire un chmod 600 /etc/shadow pour re-sécuriser le truc): function testUserPassword($login, $password, $hostname) { $urlSyno='https://'.$hostname.'/webman/login.cgi?username='.$login.'&passwd='.$password; $reponseLogin = file_get_contents($urlSyno); if (json_decode($reponseLogin)->{'result'} == 'success') { return TRUE; } return FALSE; } function login($user,$pass,$cookie){ if (!empty($pass) && testUserPassword($user,$pass,'localhost:8080' )) { $_SESSION['user'] = $user; if($cookie == 'on'){ $expire = 365*24*3600; setcookie('user',$user,time()+$expire); } } else { echo '<div style="text-align:center;color:red;">Mauvais login/password</div>'; } } Par rapport à ma méthode: attention car personnellement, j'utilise le port 8080 pour le DSM, mais par défaut c'est 5000 je crois. L'idéal serait de stocker ça dans un fichier config ainsi que d'autres trucs comme les variables relatives à mysql (database, login, password). Et ça marche chez toi?? Car chez moi j'utilise le port 5000 (ou 5001 avec le https) et quand j'entre l'adresse dans le navigateur (http://localhost:500...=xxx&passwd=yyy) j'obtiens bien le résultat result:success et sucess:true mais avec file_get_contents ca ne marche pas, si je fais un echo de $reponseLogin j'obtiens ca :{ "reason" : "error_noprivilege", "result" : "error", "success" : false } ce n'est pas un problème de mauvais username/passwd sinon il affiche : "reason" : "error_cantlogin", mais ici error_noprivilege semble etre un problème de droit... 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dualg4 Posté(e) le 27 mai 2011 Partager Posté(e) le 27 mai 2011 Et 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
teebo Posté(e) le 27 mai 2011 Auteur Partager Posté(e) le 27 mai 2011 Oui, 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dualg4 Posté(e) le 28 mai 2011 Partager Posté(e) le 28 mai 2011 bien vu je poste demain les sources mis 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
teebo Posté(e) le 28 mai 2011 Auteur Partager Posté(e) le 28 mai 2011 Voila le tuto est mis 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dualg4 Posté(e) le 29 mai 2011 Partager Posté(e) le 29 mai 2011 Voila le tuto est mis 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Koma66 Posté(e) le 29 mai 2011 Partager Posté(e) le 29 mai 2011 Bravo pour le tuto il est vraiment nickel ! Par contre je tombe sur un os Lorsque je veux relancer le serveur apache je tombe la dessus: DiskStation> /usr/syno/etc/rc.d/S97apache-user.sh restart mv: can't create '/usr/syno/etc/php.ini.17308': Permission denied mv: can't create '/usr/syno/etc/php.ini.17325': Permission denied rm: can't remove '/var/spool/php': Permission denied chmod: /var/spool/php: Operation not permitted chmod: /var/spool/php/apc: Operation not permitted chown: /var/services/blog/: Operation not permitted chown: /var/services/blog/: Operation not permitted chmod: /var/services/blog/: Operation not permitted cp: can't create '/usr/syno/apache/conf/httpd.conf': Permission denied /usr/syno/etc/rc.d/S97apache-user.sh: line 227: can't create /usr/syno/apache/conf/httpd.conf: Permission denied /usr/syno/etc/rc.d/S97apache-user.sh: line 227: can't create /usr/syno/apache/conf/httpd.conf: Permission denied /usr/syno/etc/rc.d/S97apache-user.sh: line 227: can't create /usr/syno/apache/conf/extra/httpd-ssl.conf: Permission denied /usr/syno/etc/rc.d/S97apache-user.sh: line 227: can't create /usr/syno/apache/conf/extra/httpd-ssl.conf: Permission denied /usr/syno/etc/rc.d/S97apache-user.sh: line 227: can't create /usr/syno/apache/conf/httpd.conf: Permission denied /usr/syno/etc/rc.d/S97apache-user.sh: line 227: can't create /usr/syno/apache/conf/httpd.conf: Permission denied /usr/syno/etc/rc.d/S97apache-user.sh: line 227: can't create /usr/syno/etc/php/user-setting.ini.17325: Permission denied Start User Apache Server ..... Syntax error on line 76 of /usr/syno/apache/conf/extra/httpd-ssl.conf: SSLCertificateKeyFile: file '/usr/syno/etc/ssl/ssl.key/server.key' does not exist or is empty /usr/syno/etc/rc.d/S97apache-user.sh: user httpd could not be started DiskStation> Quelqu'un sait pourquoi (et si possible comment résoudre le problème) ? Je sèche J'ai déjà du batailler pour arriver a faire un "insert" avec vi (je suis sous mac donc pas de touche insert...) Pour ceux qui sont dans le même cas c'est simplement la touche "a" Ne peut on pas également éditer l'open_basedir via les paramètres web dans l'outil de configuration du syno ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
teebo Posté(e) le 29 mai 2011 Auteur Partager Posté(e) le 29 mai 2011 Bravo pour le tuto il est vraiment nickel ! Par contre je tombe sur un os Lorsque je veux relancer le serveur apache je tombe la dessus: DiskStation> /usr/syno/etc/rc.d/S97apache-user.sh restart mv: can't create '/usr/syno/etc/php.ini.17308': Permission denied mv: can't create '/usr/syno/etc/php.ini.17325': Permission denied rm: can't remove '/var/spool/php': Permission denied chmod: /var/spool/php: Operation not permitted chmod: /var/spool/php/apc: Operation not permitted chown: /var/services/blog/: Operation not permitted chown: /var/services/blog/: Operation not permitted chmod: /var/services/blog/: Operation not permitted cp: can't create '/usr/syno/apache/conf/httpd.conf': Permission denied /usr/syno/etc/rc.d/S97apache-user.sh: line 227: can't create /usr/syno/apache/conf/httpd.conf: Permission denied /usr/syno/etc/rc.d/S97apache-user.sh: line 227: can't create /usr/syno/apache/conf/httpd.conf: Permission denied /usr/syno/etc/rc.d/S97apache-user.sh: line 227: can't create /usr/syno/apache/conf/extra/httpd-ssl.conf: Permission denied /usr/syno/etc/rc.d/S97apache-user.sh: line 227: can't create /usr/syno/apache/conf/extra/httpd-ssl.conf: Permission denied /usr/syno/etc/rc.d/S97apache-user.sh: line 227: can't create /usr/syno/apache/conf/httpd.conf: Permission denied /usr/syno/etc/rc.d/S97apache-user.sh: line 227: can't create /usr/syno/apache/conf/httpd.conf: Permission denied /usr/syno/etc/rc.d/S97apache-user.sh: line 227: can't create /usr/syno/etc/php/user-setting.ini.17325: Permission denied Start User Apache Server ..... Syntax error on line 76 of /usr/syno/apache/conf/extra/httpd-ssl.conf: SSLCertificateKeyFile: file '/usr/syno/etc/ssl/ssl.key/server.key' does not exist or is empty /usr/syno/etc/rc.d/S97apache-user.sh: user httpd could not be started DiskStation> Quelqu'un sait pourquoi (et si possible comment résoudre le problème) ? Je sèche J'ai déjà du batailler pour arriver a faire un "insert" avec vi (je suis sous mac donc pas de touche insert...) Pour ceux qui sont dans le même cas c'est simplement la touche "a" Ne peut on pas également éditer l'open_basedir via les paramètres web dans l'outil de configuration du syno ? Effectivement on peut apparemment le modifier depuis l'outils de config du syno, je n'avais pas vu... merci Concernant le redémarrage d'apache, es-tu bien logguer en root? Car apparemment tu as un problème de droit mais je ne peux pas t'en dire plus ... Assure toi d'avoir correctement modifier ton open_basedir et au lieu de redémarrer apache manuellement, redémarre le syno depuis le DSM, apache redémarrera aussi 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
teebo Posté(e) le 29 mai 2011 Auteur Partager Posté(e) le 29 mai 2011 Super! Merci! Juste un petite remarque pour la prochaine version: on pourrait avoir en param 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Koma66 Posté(e) le 29 mai 2011 Partager Posté(e) le 29 mai 2011 Effectivement on peut apparemment le modifier depuis l'outils de config du syno, je n'avais pas vu... merci Concernant le red 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
teebo Posté(e) le 29 mai 2011 Auteur Partager Posté(e) le 29 mai 2011 De fait j'avais pas fait attention et était connecté via un user J'ai ajouté à mon open_basedir ":/volume2/video" (là où elles sont stockées chez moi) mais lorsque j'essaye d'accéder à http:mon-ip/video je n'ai qu'une page blanche Désolé si ça se trouve c'est une bêtise mais je ne vois pas ce que j'ai fait de travers, mes liens sont bien symbolique et tout et tout, ton fichier est dézippé dans web/video (directement, pas de dossier "api allocine") Et voila ce que donne ma config: <?php //mot de passe sql (utilisateur root) $passwordSQL = 'mon mot de passe'; //nom de la base de donnÈes $bdd = 'Indexation films'; //numÈro du port pour acceder ‡ la config de votre syno $port_conf_syno = '5000'; //true si l'on veut utiliser le systËme de login, false sinon $login = true; //tableau des extensions de vos films $ext = array("avi", "mkv", "mpg", "mov"); //liste des fichiers/dossiers ‡ ne PAS afficher dans l'arborescence $hiddenfiles = array(".", "..", "index.php", "index.php~", "index.css", ".htaccess", "Thumbs.db", "@eaDir", "images", "nyroModal"); //mots a effacer du titre des films $deleteWords = array("avi", "mkv", "mpg", "mov", "dvdrip", "truefrench", "french", "xvid", "divx", "vostfr", "hdtv", "x264", "bluray", "dts", "multi"); ?> Y aurait-il un truc que j'ai fait de travers? Le port pour accéder? Hmmm une page blanche c'est bizzare, tu as donc bien le fichier index.php fichier sous : volume1/web/video/index.php? Active l'affichage des erreurs php dans le DSM -> services web -> parametres php ->activer display_errors pour afficher le message d'erreur php Et réactualise la page...(si tu as tjs une page blanche redémarre le syno, je sais pas s'il prend directement en compte l'affichage des erreurs sans redémarrer apache...) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Koma66 Posté(e) le 29 mai 2011 Partager Posté(e) le 29 mai 2011 Hmmm une page blanche c'est bizzare, tu as donc bien le fichier index.php fichier sous : volume1/web/video/index.php? Active l'affichage des erreurs php dans le DSM -> services web -> parametres php ->activer display_errors pour afficher le message d'erreur php Et r 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
teebo Posté(e) le 29 mai 2011 Auteur Partager Posté(e) le 29 mai 2011 Il le prend en compte direct J'ai : Parse error: syntax error, unexpected T_STRING in /volume1/web/video/config.php on line 5 ET la je suis re-perdu Ok c'est un probl 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Koma66 Posté(e) le 29 mai 2011 Partager Posté(e) le 29 mai 2011 Ok c'est un problème donc comme le dit l'erreur qui vient du fichier config.php à la ligne 5. la ligne 5 c'est celle-ci si tu as rien changé : $bdd = 'Indexation films'; tu es sur d'avoir bien les deux ' ' ? et le point-virgule à la fin de la ligne? tout comme à la fin de la ligne 3? Controle bien le problème vient de la, sinon essaie de remplace les apostrophes ' ' par des guillements " " J'ai trouvé en fait il ne "connait" pas les espaces en recréant une base de donnée nommée "Indexation_films" ça fonctionne J'ai bien le "login" et "password" Yaaaaaah :D:D Concernant les noms d'utilisateurs et mot de passe pour accéder j'ai une erreur par contre Warning: file_get_contents(Mon IP�5000�/webman/login.cgi?username=mon utilisateur&passwd=Mon mot de passe): failed to open stream: operation failed in /volume1/web/video/API-allocine.php on line 35 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
teebo Posté(e) le 29 mai 2011 Auteur Partager Posté(e) le 29 mai 2011 J'ai trouvé en fait il ne "connait" pas les espaces en recréant une base de donnée nommée "Indexation_films" ça fonctionne J'ai bien le "login" et "password" Yaaaaaah :D:D Concernant les noms d'utilisateurs et mot de passe pour accéder j'ai une erreur par contre Warning: file_get_contents(Mon IP�5000�/webman/login.cgi?username=mon utilisateur&passwd=Mon mot de passe): failed to open stream: operation failed in /volume1/web/video/API-allocine.php on line 35 l'adresse c'est bien : http://tonip:5000/webman/login.cgi?username=xxx&passwd=yyy ? Et depuis le DSM sous parametres DSM puis service http tu as quoi comme port? as tu coché rediriger automatiquement http vers https? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Koma66 Posté(e) le 29 mai 2011 Partager Posté(e) le 29 mai 2011 l'adresse c'est bien : http://tonip:5000/we...=xxx&passwd=yyy ? Et depuis le DSM sous parametres DSM puis service http tu as quoi comme port? as tu coch 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
teebo Posté(e) le 29 mai 2011 Auteur Partager Posté(e) le 29 mai 2011 Pas de problèmes Bon alors je pense que tu as deux possibilités : 1. Tu décoche rediriger http vers https . et dans le fichier config.php tu défini 5000 pour le port. 2. Tu laisse cocher rediriger http vers https dans le fichier config.php tu défini le port à 5001 et à la ligne 33 du fichier API-allocine.php tu remplace http par https. J'espère que ca va marché... edit : ou pour faire plus "propre" tu remplace la fonction login par celle-ci : function login($user,$pass,$cookie,$port){ if($port=='5001') $http = 'https://'; else $http = 'http://'; $urlSyno=$http.$_SERVER['HTTP_HOST'].':'.$port.'/webman/login.cgi?username='.$user.'&passwd='.$pass; $reponseLogin = file_get_contents($urlSyno); if (json_decode($reponseLogin)->{'success'}){ $_SESSION['user'] = $user; if($cookie == 'on'){ $expire = 365*24*3600; setcookie('user',$user,time()+$expire); } } else echo '<div style="text-align:center;color:red;">Mauvais login/password</div>'; } 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Koma66 Posté(e) le 29 mai 2011 Partager Posté(e) le 29 mai 2011 Pas de probl 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
teebo Posté(e) le 29 mai 2011 Auteur Partager Posté(e) le 29 mai 2011 bon... Essaie de copier l'adresse présente dans l'erreur php : Warning: file_get_contents(cette adresse) Et colle la dans ton navigateur, tu obtiens quoi? normalement ceci devrait être affiché : { "result" : "success", "success" : true } j'allais oublié : contrôle aussi que l'ip de ton syno n'est pas bloqué dans la liste des blocages, si tu as activé le blocage auto 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Koma66 Posté(e) le 29 mai 2011 Partager Posté(e) le 29 mai 2011 bon... Essaie de copier l'adresse pr 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
teebo Posté(e) le 29 mai 2011 Auteur Partager Posté(e) le 29 mai 2011 Oui l'ip n'est pas bloquée, j'ai même désactivé dans le doute (et vidé les ip bloquées...) Lorsque je tape l'adresse, je dois supprimer les points d'interrogations autour de 5001 et ajouter un "s" à http mais j'obtiens: { "reason" : "error_cantlogin", "result" : "error", "success" : false } Les points d'interrogations?? Le problème vient de la, tu ne dois pas avoir de ? autour du numéro du port. essaie dans le fichier config.php pour la variable port_conf_syno : $port_conf_syno = 5001; et non '5001'. Et si tu choisis le port 5001, il faut ajouter un s a http à la ligne 33 dans le fichier API-allocine.php 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Koma66 Posté(e) le 29 mai 2011 Partager Posté(e) le 29 mai 2011 Les points d'interrogations?? Le probl 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.