这些天我在我的应用程序中看到了一种奇怪的行为。随机地,当我尝试从Ruby on Rails API获取JSON提要时,我收到类似这样的响应:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/javascript">
function getCookie(c_name) { // Local function for getting a cookie value
if (document.cookie.length > 0) {
c_start = document.cookie.indexOf(c_name + "=");
if (c_start!=-1) {
c_start=c_start + c_name.length + 1;
c_end=document.cookie.indexOf(";", c_start);
if (c_end==-1)
c_end = document.cookie.length;
return unescape(document.cookie.substring(c_start,c_end));
}
}
return "";
}
function setCookie(c_name, value, expiredays) { // Local function for setting a value of a cookie
var exdate = new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie = c_name + "=" + escape(value) + ((expiredays==null) ? "" : ";expires=" + exdate.toGMTString()) + ";path=/";
}
function getHostUri() {
var loc = document.location;
return loc.toString();
}
setCookie('YPF8827340282Jdskjhfiw_928937459182JAX666', 'xxx.yyy.zzz.xxx', 10);
try {
location.reload(true);
} catch (err1) {
try {
location.reload();
} catch (err2) {
location.href = getHostUri();
}
}
</script>
</head>
<body>
<noscript>This site requires JavaScript and Cookies to be enabled. Please change your browser settings or upgrade your browser.</noscript>
</body>
</html>
其中xxx.yyy.zzz.xxx
是我的公共IP地址。
我已经在互联网上搜索并发现很少的信息(人们询问这种行为,有些人提供了解决方法,而没有解释这些来自何处)。
我认为它不是来自webapp级别,因为这发生在PHP,ASP.net和Rails应用程序中,所以我认为它可能是网络服务器,一些缓存,也许是一些亚马逊的东西......我我真的不知道。
目前我意识到发现的例子都是NGiNX,但它的源代码和文档看起来并不包含这样的内容。
在我的应用中似乎是随机的,而在其他人中则不然。
如果您想要实时试用,您可以访问https://www.manototv.com/
而无需使用JavaScript和隐私浏览模式,您会看到这个奇怪的页面出现。
并非Cookie密钥YPF8827340282Jdskjhfiw_928937459182JAX666
在所有应用中始终相同。
有什么想法吗?
提前谢谢。