나는 보안 문제로 인해이 일을 막을 수 있다고 확신하지만, 내가 알지 못하는 해결 방법이 있는지 궁금해 ...Javascript 보안이 나를 멈추고 있습니까?
연락처 DB에 사용자의 전자 메일을 주입하는 스크립트가 있습니다. 내 고객의 그것은 IE에서 폭파지만 FF, 크롬에서 일하고 (평소와 같이). 서버를 트러스트에 추가 할 수 있을지 궁금해합니다.
<script type="text/javascript">
window.onload = init;
//Global XMLHTTP Request object
var XmlHttp;
function CreateXmlHttp() {
//Creating object of XMLHTTP in IE
try {
XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (ex) {
XmlHttp = null;
}
}
//Creating object of XMLHTTP in Mozilla and Safari
if (!XmlHttp && typeof XMLHttpRequest != "undefined") {
XmlHttp = new XMLHttpRequest();
}
}
function init() {
var x = document.getElementsByName("btnContinue");
x[0].onclick = submitForm;
}
function submitForm() {
var x = document.getElementsByName('Email');
if (x[0].value.length > 0) {
CreateXmlHttp();
XmlHttp.open("POST", "https://app.icontact.com/icp/signup.php", false);
XmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
XmlHttp.send("redirect='http://www.xyz.com/articles.asp?ID=97'&errorredirect='http://www.xyz.com/articles.asp?ID=256'&fields_email=" +
x[0].value + "&listid=123&specialid:123=YP7I&clientid=123&formid=123&reallistid=1&doubleopt=0&Submit=Submit");
}
}
</script>
나는 어떤 통찰력도 주시면 감사하겠습니다.
감사합니다.
아약스를 사용하면 코드가 적어 질 것입니다. http://api.jquery.com/jQuery.ajax/ –
동일한 출처의 정책 이슈처럼 보입니다. https://app.icontact.com/에 액세스 할 수있는 경우 도메인에서 POST 요청을 할 수 있도록 Access-Control-Request-Header를 설정할 수 있습니다. – JackWink
저는 통제 할 수없는 페이지에서 작업 할 때 조금 제약이 있습니다. 페이지는 페이지의 미리 정의 된 영역을 통한 코드 삽입 만 허용하는 제 3 자 사이트 빌더 중 한 곳에서 호스팅됩니다. 따라서 숨겨진 것이 아닌 이상 새로운 서식을 만들거나 라이브러리를 가져올 수 없습니다. 나는 파이어 폭스에서 잘 작동한다는 것에 주목해야한다. IE에서만 폭파. – TomO