所谓查看源代码,就是别人服务器发送到浏览器的原封不动的代码。
审查元素时,你看到那些,在源代码中找不到的代码,是在浏览器执行js动态生成的。
通过审查元素看到的就是最终的html代码。即:源代码 + 网页js渲染 。
诸如以下这样的函数 就可以一定程度保护js代码
function getFollowStatus(n)
{
$.ajax({
url:getAjaxBaseUrl()+
"Follow/GetFollowStatus.aspx",
data:{blogUserGuid:n},
cache:!1,
dataType:"text",
type:"get",
success:function(n){
$("#p_b_follow").html(n)
}
})
}
然后如果直接用浏览器访问地址如果data不传 或者 值uid不对应是没内容的 即使内容全部正确 后台依然用一些方法不让你知道(比如设置 如果不是本人登录情况下无法访问的控制 只让自己的域名的请求访问(当然ip可以伪造) 给予自定义和谐劝退输出)
说到ip 伪造 建议使用$_SERVER['REMOTE_ADDR'] 这个不容易伪造 就是跟你服务器直接连接的IP (当然 remote_addr并不一定就是客户端的真实IP,不过它是真实的一个地址( 最后一个代理服务器 IP))
下面是解决ip伪造的几个思路: (1)如果是局域网环境,那么建议你从系统上,甚至路由器上去限制IP (2)如果是公开的,伪造IP将无法收到你的Response,也就是说这个Response会发到那个被伪造的IP去。所以,除非是对你做泛洪攻击,伪造IP没有意义。 再说你评论的那个方案,其实是一种验证的手段,我倒是觉得,这种手段和对称加密没什么两样,当然对称加密成本要比你说的握手方式成本低很多。
总之,限制IP是为了做访问限制,而为了数据安全,还是要做加密和身份验证,对称加密是个好办法(对称加密中加入时间等元素,安全性一般比较高)
关于REMOTE_ADDR的php示例: 也是判断是否使用proxy(代理).
if (
$_SERVER['HTTP_X_FORWARDED_FOR']
|| $_SERVER['HTTP_X_FORWARDED']
|| $_SERVER['HTTP_FORWARDED_FOR']
|| $_SERVER['HTTP_CLIENT_IP']
|| $_SERVER['HTTP_VIA']
|| in_array($_SERVER['REMOTE_PORT'], array(8080,80,6588,8000,3128,553,554)))
|| @fsockopen($_SERVER['REMOTE_ADDR'], 80, $errno, $errstr, 30))
{
echo "we caught you";
}
本文转载无需和我联系,但请注明来自记录你我https://recwe.com
最新评论