nknk 3 Denunciar post Postado Setembro 28, 2008 Eu migrei um sistema (http) que tinha requisições em ajax para https. Não sei se é conhecido de todos, mas quando se passa de uma url http para https com session, ela se perde por questões de segurança (acho). Mas no meu caso eu não faço esta migração, o registro da session é feita já em uma página https assim como a tela de login. O fato curioso é que eu consigo fazer requisições via ajax neste novo sistema com ssl e as session são reconhecidas. A minha dúvida é, essas requisições são feitas com https, mesmo eu não ter colocado https na requisição? Se não, porque a session não se perdeu? A outra dúvida seria: Pq ajax não faz requisições em https? É possível ? Pq pelo que tentei não funciona e pelo que li. Segue o código que utilizo. function criaXMLHttp() { if (typeof XMLHttpRequest != "undefined") return new XMLHttpRequest(); else if (window.ActiveXObject){ var versoes = ["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"]; } for (var i = 0; i < versoes.length; i++){ try{ return new ActiveXObject(versoes[i]); }catch (e) {} } throw new Error("Seu browser nao suporta AJAX"); } Exemplo de requisição function teste(codigo) { var XMLHttp = criaXMLHttp(); var divInfo = document.getElementById("resultado"); XMLHttp.open("get", "teste.php?id=" + codigo, true); XMLHttp.onreadystatechange = function () { if (XMLHttp.readyState == 4) if (XMLHttp.status == 200){ var result = XMLHttp.responseText; divInfo.innerHTML = result; } else { divInfo.innerHTML = "Um erro ocorreu" + XMLHttp.statusText; } }; XMLHttp.send(null); } Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Setembro 30, 2008 Alguém sabe? Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Setembro 30, 2008 execute phpinfo() e retorne aqui o valor da diretiva Registered PHP Streams deve ter algo do tipo php, file, data, http, ftp, compress.zlib, https, ftps Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Setembro 30, 2008 Eu verifiquei o phpinfo() e aparece além destes outras especificações, mas não entendi como estaria relacionado. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Setembro 30, 2008 a URL que pretende abrir pertence a outro dominio ? Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Outubro 1, 2008 Pertence ao mesmo dominio, só que nessa url é protegida por session (login,senha) o que me leva supor que esse ajax está sendo feito via https. Reformulando a minha pergunta: Numa página https que tem ajax, as requisições são feitas em https ? Neste trecho [xmlHttp.open("get", "teste.php?id=" + codigo, true);] teste está sendo requisitado assim : https://caminho/teste.php?id=x ? Compartilhar este post Link para o post Compartilhar em outros sites
{TeRmInAtOr} 1 Denunciar post Postado Outubro 1, 2008 Tenta fazer um teste, na página em ajax (teste.php) manda imprimir $_SERVER['HTTPS'] e vê se retorna "on". Na minha concepção eu imagino o http e https como 2 tubos onde trafegam as informações, no https elas trafegam criptografadas o que me leva a crer que a requisição está sendo feita por https. Porém como essa requisição parte da máquina do cliente via javascript não tenho certeza, faça um teste e posta aí pra gente saber. De qualquer forma fiquei curioso e vou testar aqui tb. Falo! Compartilhar este post Link para o post Compartilhar em outros sites
{TeRmInAtOr} 1 Denunciar post Postado Outubro 1, 2008 Fiz o teste, retornou "on"... Ou seja, setá sendo feita em https a requisição. Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Outubro 1, 2008 Só não entendo pq se eu colocar o endereço https:// completo o ajax não funciona. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Outubro 2, 2008 humm.. acho que entendi o que você está dizendo quando usa caminho relativo o Ajax funciona quando usa caminho absoluto não funciona. então você quer saber: 1- o motivo de nao funcionar quando usa caminho absoluto https://.../pagina.php 2- se usando caminho relativo, os dados serão tunelados sob https ou percorrerão normalmente quando tiver um tempo vou fazer uns testes. t+ Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Outubro 2, 2008 Sim. A outra dúvida era: saber se as requisições estão sendo feitas em https. Como a session é registrada em https, então são feitas em https. Compartilhar este post Link para o post Compartilhar em outros sites