네이버에서는 검색이 어려운 블로그입니다. 구글검색을 이용해 주세요.
IE 에서 referer 가 안된다.
referer 가 안되는 경우는
1. 주소를 직접 입력한 경우
2. 즐겨찾기로 이동한 경우
3. location.href 로 이동한 경우 (IE 만 안되는것 같다)
referer 가 다 되는 경우는 a 태그로 할 경우이다.
http://dev.jeffersonscher.com/php/show_referer.php
$RF=$_SERVER['HTTP_REFERER'];
if(!preg_match('/tistory/', $RF)||strlen($RF)==0) {
$msg='비 정상적인 접근입니다.';
$submit=false;
}
조금 찾아보니 IE는 보안페이지에서만 된다는 듯...
그리고 IE는 location.href 로 이동할 경우 주소창에 입력한 것처럼 처리하여 referer 전달이 안된단다.
헤더를 전송하지 않는 것이다.
================================================================
<?php
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Content-Type: text/html; charset=utf-8");
?>
<!DOCTYPE html>
<html>
<head>
<title>Show HTTP_REFERER</title>
<style type="text/css">
p {font-family:sans-serif; font-size:20px;}
</style>
</head>
<body>
<p>Result of <code>echo $_SERVER["HTTP_REFERER"]</code>: <strong>
<?php
echo $_SERVER["HTTP_REFERER"];
?>
</strong></p>
<p><a href="show_referer.php">Link to self (anchor tag)</a>
<a href="show_referer.php" onclick="window.location.href=this.href; return false;">Link to self (location.ref)</a>
<a href="show_referer.php" onclick="window.open(this.href, '_top'); return false;">Link to self (window.open)</a></p>
<textarea rows="10" cols="100">
</textarea>
</body>
</html>
http://www.webdeveloper.com/forum/showthread.php?163391-IE-does-not-pass-referer
<html>
<head>
<title>Redirect w/Referrer in Internet Explorer</title>
<script type="text/javascript">
function redirect(url) {
var theLink = '';
if (document.getElementById) {
theLink = document.getElementById('redirect_link');
if (!theLink) {
theLink = document.createElement('a');
theLink.style.display = 'none';
theLink.id = 'redirect_link';
document.body.appendChild(theLink);
}
if (url) theLink.href = url;
}
if ((theLink) && (theLink.click)) theLink.click();
else location.href = url;
}
</script>
</head>
<body>
<p><a id='redirect_link' href='http://www.mydomain.com/info.php'>Click Here to redirect</a></p>
<script type="text/javascript">
redirect('http://www.mydomain.com/info.php');
</script>
</body>
</html>
IE 팝업창일 경우
빈 팝업창을 띄운 후 창 이름으로 링크를 보내는 방법이다.
IE11 에서는 경우에 따라 빈 팝업창이 뜨고 새탭으로 원하는 페이지가 열리는 문제가 있다...
https://www.google.co.kr/?gws_rd=ssl#q=ie11+target+popup
https://www.google.co.kr/?gws_rd=ssl#q=ie11+form+target+popup
var refer=document.createElement('a');
refer.href=url;
refer.target='popupname';
refer.style.display='none';
document.body.appendChild(refer);
window.open('', 'popupname', 'width=500, height=500, resizable=no, status=no, scrollbars=no');
refer.click();
추가:
아래처럼 하면 잘 된다는 글을 본 기억이 있는데 테스트는 나중에....
var refer=document.createElement('a');
refer.href=url;
refer.target='popupname';
refer.style.display='none';
document.body.appendChild(refer);
window.open('about:blank', 'popupname', 'width=500, height=500, resizable=no, status=no, scrollbars=no');
refer.click();
'Web Source' 카테고리의 다른 글
Scroll an IFRAME Content to a Predefined Position (0) | 2015.09.20 |
---|---|
javascript cookie 쿠키, 생성, 사용, 삭제 (0) | 2015.09.10 |
Reload parent page after submit (0) | 2015.09.04 |
jquery $.ajax() $.ajaxsetup IE 한글 깨짐 (0) | 2015.08.20 |
scrollbar css style demo (0) | 2015.08.14 |