Existem duas maneiras básicas de passar dados confidenciais para o cliente HTML5  e vincular a página html5.html à sua página pai real como iframe ou chamá-la como guia pop-up. O método URI  passa os dados necessários na solicitação URI , no entanto, os dados são anexados após o hash /software/html5.html# ***** e, portanto, não são visíveis dentro da solicitação real ao servidor, o que o torna muito mais seguro e seguro. name passando dados no formulário JavaScript para o iframe/guia pop-up final.

IFRAME 

R:  usando URI  como no exemplo anexado iframe_bad_uri.html src="/software/html5.html#user=mylogin&pass=mypass"  
 

mas esta abordagem pode ter as seguintes desvantagens

  1. AdBlockers podem recusar tais links

  2. Os filtros da Internet podem filtrar tais solicitações de link como possíveis danos.

  3. Os navegadores móveis podem ter limites de caracteres específicos do navegador para solicitações de URI .  

  4. O histórico pode conter tal link.

Certifique-se de usar tags de atributo para iframe para ativar o modo de tela cheia como no exemplo a seguir

<iframe src="***your_link/software/html5.html" -ms-allowfullscreen -webkit-allowfullscreen -moz-allowfullscreen allowfullscreen height="100%" width="100%"></iframe>



B :  ou usando o objeto window.name como no exemplo anexado iframe_good_name.html   

src="/software/html5.html" name="base64_encoded_string" 

Essa abordagem tem apenas uma desvantagem: requer o mecanismo JavaScript  ativado , mas como o cliente HTML5  não pode ser executado sem JavaScript,  essa limitação não é considerada.   

POPUP-TAB

R: usando URI  como no exemplo em anexo popup_bad_uri .html 

mesmas desvantagens do IFRAME  acima

B :  ou usando o objeto window.name como no exemplo anexado popup_good _name.html

src="/software/html5.html" .... window.name = *****

A senha passada é excluída imediatamente da variável window.name na página html5.html final 

Essa abordagem pode ser muito bem usada para abrir a página na mesma guia definindo " var openinsamewindow = true; ".

O exemplo para POPUP-TAB está funcionando pelo menos até o atual IE Edge v44.18362.1.0 (07.07.19) mesmo em situação de interdomínio, onde em exemplos de pop-up antigos o IE Edge esvaziou a variável window.name , então este popup_good _name.html é relativamente seguro de usar, mesmo no IE Edge moderno para cenários entre domínios.

Todas as abordagens acima garantem que os dados de logon sejam passados ​​para o servidor em formato criptografado assimétrico, mesmo no cenário HTTP , o que o torna ainda mais seguro se o seu ambiente for atacado por DNS ou hackers obtiverem acesso ao seu certificado privado, uma vez que o par de chaves públicas/privadas dos servidores é regenerado em cada inicialização do servidor HTML5 e não tem nenhuma relação com a chave privada usada para o protocolo HTTPS .

Desde HTML5 v6.39 é possível passar dados no método POST reutilizando o sistema de tickets de logon "/socket.io/LPW" mas lembre-se que ao contrário do código IFRAME/POPUP-TAB  passar dados por POST é inseguro, primeiro porque os usuários podem ver todos dados passados ​​no modo de desenvolvedor de navegadores de qualquer maneira, e segundo porque se o protocolo HTTP usado ou o certificado HTTPS foi comprometido, ou o ambiente foi atacado por DNS , este método POST não fornece nenhuma segurança extra para evitar vazamento futuro de dados. Veja também o exemplo em postdata.html anexadopara ligá-lo em seu ambiente real. Porém sempre que possível evite o uso do método POST , se você realmente contar com segurança.