RE: Connexion MacOS [ Répondre ] Par : Tom HOUDAYER on 2017-09-25 23:41 | [forum:486961] |
Bonsoir, Ces commandes permettent de mettre à jour des fichiers du manager dans l'ACC (indépendant de ce problème) au moment du post (21/07/2017). Si c'est pour corriger uniquement le problème de ce post, tu peux appliquer la modification de la r2406 manuellement (http://svn.alcasar.net/diff.php?repname=ALCASAR&path=%2Fweb%2Fintercept.php&rev=2406). Le fichier intercept.php a bénéficié d'autres modifications (comme l'API CoovaChilli en HTTPS), il n'est donc pas possible de se contenter de le remplacer par la dernière révision. Mais tu peux installer la version de développement (téléchargeable sur le WebSVN [r2415 : http://svn.alcasar.net/dl.php?repname=ALCASAR&path=%2F&isdir=1&rev=2415]). |
RE: Connexion MacOS [ Répondre ] Par : Laurent roux on 2017-09-22 12:07 | [forum:486951] |
Bonjour, Ah c'est vrai que pour ma part, je suis resté en version 3.1.4, sans faire de maj du fichier intercept.php ... Ce pourrait peut-être expliquer les pb que je constate .... |
RE: Connexion MacOS [ Répondre ] Par : Olivier C on 2017-09-20 17:42 | [forum:486950] |
Ca doit être ça Tom. J'avais la r2324 sur le fichier intercept.php, mais après, il y a eu la 2370, 2378 et 2406, 2407, 2409 Faut dire que tu la modifies pas mal, cette page d'interception ! J'ai du me rater quand j'ai pris le fichier. Surtout quand le /tmp était plein à plusieurs reprises sur le SVN. |
RE: Connexion MacOS [ Répondre ] Par : Olivier C on 2017-09-20 17:23 | [forum:486949] |
Bonjour Tom, Je ne me rappelle plus comment la page détectant un portail captif apparaît. Je n'arrive plus à l'afficher de nouveau. Dommage pour les tests. Quand je modifie le fichier à la main selon ton diff, cela fonctionne. Plus de message comme quoi le site n'a pas répondu et la fenêtre de statut s'ouvre bien. Ce n'était pas une page blanche mais un timeout sur celle-ci. Pour info, j'ai fait sauter le blocage des fenêtres popup de safari et firefox, sinon seule la fenêtre de statut s'ouvre, ce qui est gênant, car il faut ouvrir un nouvel onglet. Voici donc ce que j'ai en fichiers présents maintenant: -rw-r--r-- 1 apache apache 29708 sept. 20 16:47 intercept.php -rw-r--r-- 1 apache apache 29907 sept. 11 05:33 intercept.php.new -rw-r--r-- 1 apache apache 29674 sept. 20 16:44 intercept.php.old Mon premier est celui avec la modif à la main (r2406) modifié ce jour Mon deuxième est celui téléchargé à partir du SVN (r2406) modifié il y a 4 jours Mon troisième est celui d'origine (r2324) Mon tout est ....... Patatra ! On voit bien que le 2 est plus gros que le 1 Donc d'autres modifs sont faites dedans qui me posent certainement le problème. le diff suivant le prouve. J'ai donc du rater une révision ou quelque chose comme ça.... Bref, c'est corrigé, merci, mais je ne vois toujours pas ton problème avec safari (j'ai même testé avec une vieille 10.8 et donc safari 6 en plus des autres) Le DIFF : 53c53 < $conf[$tmp[0]] = trim($tmp[1]); --- > $conf[trim($tmp[0])] = trim($tmp[1]); 61c61 < $uamsecret = "215lelg6"; --- > $uamsecret = ""; 71c71,72 < $alcasarpath = 'http://'.$conf['HOSTNAME'].'.'.$conf['DOMAIN']; --- > $useHTTPS = ((isset($_SERVER['HTTPS'])) && (!empty($_SERVER['HTTPS'])) && ($_SERVER['HTTPS'] !== 'off')); > $alcasarpath = (($conf['HTTPS_LOGIN'] === 'on') ? 'https' : 'http' ).'://'.$conf['HOSTNAME'].'.'.$conf['DOMAIN']; 78c79 < $Language = strtolower(substr(chop($Langue[0]),0,2)); --- > $Language = strtolower(substr(chop($Langue[0]), 0, 2)); 101c102 < $l_loggedin_stringl6 = "Click <a href='$alcasarpath'>here</a> to change your password or to integrate the security certificate in your browser"; --- > $l_loggedin_stringl6 = "Click <a href=\"$alcasarpath\">here</a> to change your password or to integrate the security certificate in your browser"; 134c135 < $l_loggedin_stringl6 = "Clique <a href='$alcasarpath'>aqui</a> para alterar sua senha, instalar certificado ou sair do portal."; --- > $l_loggedin_stringl6 = "Clique <a href=\"$alcasarpath\">aqui</a> para alterar sua senha, instalar certificado ou sair do portal."; 167c168 < $l_loggedin_stringl6 = "点击 <a href='$alcasarpath'> 这里 </a> 修改密码或安装浏览器安全证书"; --- > $l_loggedin_stringl6 = "点击 <a href=\"$alcasarpath\"> 这里 </a> 修改密码或安装浏览器安全证书"; 200c201 < $l_loggedin_stringl6 = "لتغيير كلمة السر أو شهادة الأمان <a href='$alcasarpath'>هنا</a> اضغط "; --- > $l_loggedin_stringl6 = "لتغيير كلمة السر أو شهادة الأمان <a href=\"$alcasarpath\">هنا</a> اضغط "; 233c234 < $l_loggedin_stringl6 = "Click <a href='$alcasarpath'>here</a> to change your password or to integrate the security certificate in your browser"; --- > $l_loggedin_stringl6 = "Click <a href=\"$alcasarpath\">here</a> to change your password or to integrate the security certificate in your browser"; 266c267 < $l_loggedin_stringl6 = "Click <a href='$alcasarpath'>here</a> to change your password or to integrate the security certificate in your browser"; --- > $l_loggedin_stringl6 = "Click <a href=\"$alcasarpath\">here</a> to change your password or to integrate the security certificate in your browser"; 299c300 < $l_loggedin_stringl6 = "Cliquez <a href='$alcasarpath'>ici</a> pour changer votre mot de passe ou pour intégrer le certificat de sécurité à votre navigateur"; --- > $l_loggedin_stringl6 = "Cliquez <a href=\"$alcasarpath\">ici</a> pour changer votre mot de passe ou pour intégrer le certificat de sécurité à votre navigateur"; 332c333 < $l_loggedin_stringl6 = "Click <a href='$alcasarpath'>here</a> to change your password or to integrate the security certificate in your browser"; --- > $l_loggedin_stringl6 = "Click <a href=\"$alcasarpath\">here</a> to change your password or to integrate the security certificate in your browser"; 372,375c373,376 < if ((isset($_POST['UserName'])) && (preg_match('/^([0-9A-F]{2}-){5}[0-9A-F]{2}$/', $_POST['UserName']) !== 1)) < $username = htmlspecialchars($_POST['UserName']); else $username = ''; < if (isset($_POST['Password'])) $password = htmlspecialchars($_POST['Password']); else $password = ''; < if (isset($_POST['challenge']))$challenge = htmlspecialchars($_POST['challenge']); else $challenge = ''; --- > if ((isset($_POST['username'])) && (preg_match('/^([0-9A-F]{2}-){5}[0-9A-F]{2}$/', $_POST['username']) !== 1)) > $username = htmlspecialchars($_POST['username']); else $username = ''; > if (isset($_POST['password'])) $password = htmlspecialchars($_POST['password']); else $password = ''; > if (isset($_POST['challenge'])) $challenge = htmlspecialchars($_POST['challenge']); else $challenge = ''; 379,381c380,382 < if (isset($_POST['res'])) $res = htmlspecialchars($_POST['res']); else $res = ''; < if (isset($_POST['uamip'])) $uamip = htmlspecialchars($_POST['uamip']); else $uamip = ''; < if (isset($_POST['uamport'])) $uamport = htmlspecialchars($_POST['uamport']); else $uamport = ''; --- > // if (isset($_POST['res'])) $res = htmlspecialchars($_POST['res']); else $res = ''; > // if (isset($_POST['uamip'])) $uamip = htmlspecialchars($_POST['uamip']); else $uamip = ''; > // if (isset($_POST['uamport'])) $uamport = htmlspecialchars($_POST['uamport']); else $uamport = ''; 383,384c384,385 < if (isset($_POST['timeleft'])) $timeleft = htmlspecialchars($_POST['timeleft']); else $timeleft = ''; < if (isset($_POST['redirurl'])) $redirurl = htmlspecialchars($_POST['redirurl']); else $redirurl = ''; --- > // if (isset($_POST['timeleft'])) $timeleft = htmlspecialchars($_POST['timeleft']); else $timeleft = ''; > // if (isset($_POST['redirurl'])) $redirurl = htmlspecialchars($_POST['redirurl']); else $redirurl = ''; 387c388,389 < if (isset($_GET['res'])) $res = htmlspecialchars($_GET['res']); --- > if (isset($_GET['res'])) $res = htmlspecialchars($_GET['res']); else $res = ''; > // if (isset($_GET['reason'])) $reason = htmlspecialchars($_GET['reason']); else $reason = ''; 389,391c391,395 < if (isset($_GET['uamip'])) $uamip = htmlspecialchars($_GET['uamip']); < if (isset($_GET['uamport'])) $uamport = htmlspecialchars($_GET['uamport']); < if (isset($_GET['reply'])) $reply = htmlspecialchars($_GET['reply']); else $reply = ''; --- > // if (isset($_GET['uamip'])) $uamip = htmlspecialchars($_GET['uamip']); > // if (isset($_GET['uamport'])) $uamport = htmlspecialchars($_GET['uamport']); > if (isset($_GET['timeleft'])) $timeleft = htmlspecialchars($_GET['timeleft']); else $timeleft = ''; > if (isset($_GET['reply'])) $reply = htmlspecialchars(trim($_GET['reply'])); else $reply = ''; > if (isset($_GET['redirurl'])) $redirurl = htmlspecialchars($_GET['redirurl']); else $redirurl = ''; 393,394d396 < if (isset($_GET['timeleft'])) $timeleft = htmlspecialchars($_GET['timeleft']); < if (isset($_GET['redirurl'])) $redirurl = htmlspecialchars($_GET['redirurl']); 396,401c398,406 < // Get required parameters from CoovaChilli config file if missing < if (empty($uamip)) { < $uamip = trim(exec('grep uamlisten /etc/chilli.conf | sed -e "s/uamlisten//"')); < } < if (empty($uamport)) { < $uamport = trim(exec('grep uamport /etc/chilli.conf | sed -e "s/uamport//"')); --- > // TODO: clean unused query params > > $uamip = $conf['HOSTNAME'].'.'.$conf['DOMAIN']; > if ($useHTTPS) { > $uamproto = 'https'; > $uamport = 3991; > } else { > $uamproto = 'http'; > $uamport = 3990; 405,406c410,411 < if (isset($reply)) { < switch (trim($reply)) { --- > if (!empty($reply)) { > switch ($reply) { 432c437 < header("Location: http://$uamip:$uamport/logon?username=$username&password=$pappassword&userurl=$userurl"); --- > header("Location: $uamproto://$uamip:$uamport/logon?username=$username&password=$pappassword&userurl=$userurl"); 446c451 < if($result === 1) { --- > if ($result === 1) { 458c463 < if($filter_id[3] === '1') { --- > if ($filter_id[3] === '1') { 462c467 < header('Location: https://'.$conf['HOSTNAME'].'.'.$conf['DOMAIN'].'/index.php?warn=1&url='.urlencode($_GET['userurl'])); //we present to user information about imputability logs --- > header('Location: '.(($conf['HTTPS_LOGIN'] === 'on') ? 'https' : 'http').'://'.$conf['HOSTNAME'].'.'.$conf['DOMAIN'].'/index.php?warn=1&url='.urlencode($_GET['userurl'])); //we present to user information about imputability logs 470,473c475,477 < // Otherwise it was not a form request < // Send out an error message < if ($result === 0) { //erreur < header("Location: http://$uamip:$uamport/prelogin"); --- > // By default, redirect to prelogin in order to generate a challenge > if ($result === 0) { > header("Location: $uamproto://$uamip:$uamport/prelogin"); 514c518 < document.form1.UserName.focus(); --- > document.form1.username.focus(); 538,539d541 < <input type="hidden" name="uamip" value="<?= $uamip ?>"> < <input type="hidden" name="uamport" value="<?= $uamport ?>"> 545c547 < <td width="50%" align="left"><input type="text" maxLength="32" name="UserName" autocomplete="off"></td> --- > <td width="50%" align="left"><input type="text" maxLength="32" name="username" autocomplete="off"></td> 549c551 < <td align="left"><input maxLength="32" type="password" name="Password" autocomplete="off"></td> --- > <td align="left"><input maxLength="32" type="password" name="password" autocomplete="off"></td> |
RE: Connexion MacOS [ Répondre ] Par : Laurent roux on 2017-09-20 00:43 | [forum:486948] |
bonjour, je comprends pas, j'ai fait un post il y a 2 jours pour dire que IE et chome supportaient pas trop Alcasar contrairement à Mozilla ... et là je ne le trouve plus ... mais c'est pas grave ... Je persiste avec un exemple de ce jour ... J'ai mis un site https en site de confiance et IE me dit dit qu'il y a un pb de certificat (celui d'Alcasar) puis qd on a accepté on accède bien au site ... (je peux pas parler des autres navigateurs car c'est un site professionnel qui nécessite IE [on s'y connecte par VPN que j'ai mis en IP de confiance mais cette partie s'est passé sans pb ...) .. J'ai mis d'autres sites (je peux fournir les sites si jamais) en sites de confiance... sous Mozilla, on y accède facilement mais sous IE ça rame beaucoup et on y accède pas... Moi ça ne m'embête pas du tout de conseiller fortement Mozilla mais c'est juste pour faire partager mes retours ... Sinon super l'idée de mettre un onglet sur la page d’identification utilisateur pour indiquer les sites qui ne nécessitent pas d'authentification ... c'est très pratique !!! :-) |
RE: Connexion MacOS [ Répondre ] Par : Tom HOUDAYER on 2017-09-19 01:11 | [forum:486947] |
Bonsoir, J'ai pu testé plusieurs appareils et (hormis peut-être un vieil Android) je n'ai pas trouvé de problème. Même sur iOS, la fenêtre status s'ouvre dans le navigateur embarqué de "l'assistant de portail captif" (fenêtre censée être fermée une fois connecté...). @Olivier : je vois mal comment ma modification peut casser la redirection (tu obtiens donc une page blanche ?). Essaie d'ajouter la modification à la main sur ta version qui marche pour voir si ça change quelque chose (http://svn.alcasar.net/diff.php?repname=ALCASAR&path=%2Fweb%2Fintercept.php&rev=2406). @Patrick : je n'ai pas encore pu voir l'assistant de portail captif en action sur macOS. Pour l'erreur de site non sécurisé, c'est tout à fait normal dans le cas d'un certificat auto-signé. Pour l'ACC, j'ai du mal à voir pourquoi Safari refuse de s'y connecter (pas de problème sur OS X 10.11 pour moi), qu’obtenez-vous exactement ? |
RE: Connexion MacOS [ Répondre ] Par : Olivier C on 2017-09-16 16:44 | [forum:486942] |
Bonjour, Effectivement sur un système Apple fraichement installé, Safari signale qu'une passerelle d'interception est présente. Sans la dernière révision de Tom, Safari affichait une fenêtre mais en modifiant les paramètres concernant le blocage des fenêtres surgissantes (on les autorise). Après, il ne m'embête plus. Firefox fait la même chose, d'ailleurs. Il faut laisser le choix de l'ouverture des onglets soit automatiquement choisi (fenêtre ou onglet). Le paramétrage proxy de firefox est celui du système, c'est à dire aucun. J'ai un parc avec des versions système de 10.8 à 10.12 et cela fonctionne. Même chose avec les iPads. Du coup, je n'ai pas de problème majeur et ne comprends pas le blocage que certains ont vu. Pour moi, les pop-up sont transformés en onglets et l'onglet de statut s'ouvre après la page de démarrage (fixée dans le navigateur). Du coup, on peut croire que celle-ci ne s'ouvre pas, mais en fait si. Regardez tous ces paramètres dans vos navigateurs sur macOS. |
RE: Connexion MacOS [ Répondre ] Par : Patrick Pons on 2017-09-16 10:53 | [forum:486940] |
Bonjour, Travaillant en environnement MAC OS exclusivement, je confirme qu'il y a un problème avec le système et Safari. En effet le système MAC OS est de plus en plus sécurisé et entraine, à mon avis, un dysfonctionnement d'ALCASAR. Par exemple avec la toute dernière version du système (High Sierra, 10.13) qui sort fin septembre et que je teste actuellement en Beta, en plus d'avoir à intervalle régulier la fenêtre de Login qui apparait, il est impossible de se connecter à l'ACC. Un message d'erreur dans Safari nous indique un site non sécurisé ? Même problème avec le 10.12, 10.11... Je dois donc utiliser Firefox pour accéder à l'ACC mais cela ne règle pas le problème de fenêtre de login. Donc pour le moment j'ai désactivé de mon réseau ALCASAR. |
RE: Connexion MacOS [ Répondre ] Par : Olivier C on 2017-09-13 06:46 | [forum:486924] |
Bonjour Tom, Je viens d'appliquer le correctif et testé sur Mac OS 10.8, 10.11 et 10.12. J'ai également testé sur chrome d'une tablette. Cela ne fonctionne plus. Après authentification, la redirection n'aboutit plus. J'ai du revenir en arrière. Je continuerai les tests plus tard. |
RE: Connexion MacOS [ Répondre ] Par : Tom HOUDAYER on 2017-09-10 18:50 | [forum:486913] |
Bonjour, Je viens de tester avec Safari (9.0.3 [OS X 10.11]) et le problème vient bien de lui (et de son implémentation de la fonction JS window.open()). J'ai posté un correctif sur le SVN (r2406). Je vous laisse donc l'appliquer et nous valider qu'il règle bien votre problème (en attendant les utilisateurs peuvent utiliser un navigateur comme Firefox ou désactiver le blocage de popup dans Safari > Préférences... > Sécurité > Bloquer les fenêtres surgissantes). |
RE: Connexion MacOS [ Répondre ] Par : Richard REY (Rexy) on 2017-09-10 15:42 | [forum:486912] |
On s'est aperçu que depuis quelque temps (6 mois), les navigateurs intègrent une fonction de détection de portail captif (comme ALCASAR). Cette fonctionnalité est simple, efficace et, je pense, salutaire pour les portails captifs. Explication : Lors de son lancement, le navigateur tente de joindre une page web en HTTP hébergé sur un serveur de l'éditeur. Cette page ne contient généralement qu'un tout petit texte (comme "success"). S'il n'arrive pas à récupérer cette page, il en déduit qu'un portail intercepte la communication et qu'il faut avertir l'utilisateur (bandeau supérieur avertissant l'internaute qu'il faut se connecter préalablement). |
RE: Connexion MacOS [ Répondre ] Par : Francois Raoult on 2017-09-10 15:02 | [forum:486911] |
Effectivement, en creusant un peu plus, ce qu'il se passe c'est que dès que MacOS se connecte au Wifi, il détecte (je ne sais comment) qu'il existe un portail captif. Il ouvre alors automatiquement une fenêtre (sans doute avec Safari) affichant la page d'accueil de ce portail (ici, Alcasar). Une fois identifié, plutôt que d'afficher le retour du portail (ici, status.php), il affiche le "success" MacOS à l'URL précédemment indiqué. C'est donc un fonctionnement spécifique Mac... ... Qui repose donc la question de la continuité de la connexion lorsqu'il n'y a pas la fenêtre status.php (smartphones, tablettes... donc les navigateurs passent en arrière plan... Et donc MacOS...) |
RE: Connexion MacOS [ Répondre ] Par : Richard REY (Rexy) on 2017-09-10 14:21 | [forum:486910] |
Bonjour, En effet si la page de statut ne s'affiche pas, la connexion sera automatiquement coupée (entre 3 et 6 '). Il faut vérifier les paramètres de safari (ou tester aussi avec un autre navigateur comme "firefox") |
Connexion MacOS [ Répondre ] Par : Francois Raoult on 2017-09-10 11:11 | [forum:486906] |
Bonjour, Certains de mes utilisateurs, lorsqu'ils se connectent avec un Mac, n'ont pas la page "status.php" normalement affichée à l'issue de l'identification : - Ils sont bien interceptés par le portail - Ils indiquent leurs identifiants/mot de passe - Et ils se retrouvent avec une page blanche qui indique seulement "success". La page semble avoir pour URL http://captive.apple.com/hotspot-detect.html - Par contre ils apparaissent bien connectés dans l'ACC d'Alcasar. Sans la page status.php, il me semble qu'ils risquent de se trouver déconnectés assez rapidement... Ce problème ne se produit pas sur les PC ni sur les smartphones (Android en tout cas) |