bonjour biensur,
deja en gros le besoin initiale c'est que j'ai un script sh qui doit reinitialiser un mot de passe applicatif. Ce script sh lance une commande ds mon apllication verifie que l'utilisateur existe et si c'est le cas lui genere un pass et lui envoi. S'il n'existe pas il affiche un message "n'existe pas".
Pour lancer ce sh j'ai fait un script python qui est integrer dans un iframe ou il fait apparaitre une fenetre avec une case de saisie et un bouton envoyer. Tout etait sur le meme serveur (application, sh, pyhton et tomcat) en http. Pour faire fonctionner mon python j'ai mis en place un 'serveur web' qui ecoute et qui peut lancer du pyhton avec ce code.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #!/usr/bin/python3
import http.server
PORT = 8889
server_address = ("", PORT)
server = http.server.HTTPServer
handler = http.server.CGIHTTPRequestHandler
handler.cgi_directories = ["/"]
print ("Serveur actif sur le port :", PORT)
httpd = server(server_address, handler)
httpd.serve_forever() |
Je le fais tourner en tache de fond et dès que je met http://monsite dans ma page j'ai integrer l'iframe avec
<div id = "disclaimer"><web:descriptor key="" desc=" " /><center><span id='bouton_id_iframe' onclick='javascript:afficher('id_iframe');'><center><b id = "tex">Mot de passe perdu, cliquer ici !!!</b></center></span><iframe id='id_iframe' name='ma-iframe' src='https://www.google.com/search?q=%http://monsite:8889/chpwd_prod' width='400' height='280' scrolling='auto' align='top' frameborder='0' style='visibility:hidden;'></iframe><script type='text/javascript'>function afficher(id){if(document.getElementById(id).style.visibility=='hidden') document.getElementById(id).style.visibility='visible';else if(document.getElementById(id).style.visibility=='visible') document.getElementById(id).style.visibility='hidden'; else return true;}</script></center></div>
Cela fonctionnait nikel jusqu'au passage sous GCP et en https. La redirection dans l'iframe en http ne fonctionne plus par sécurité et impossible de trouver comment ouvrir un port 8889 en https.
Partager