网页按F12与查看源代码的区别及其前端资源安全防护

所谓查看源代码,就是别人服务器发送到浏览器的原封不动的代码。

审查元素时,你看到那些,在源代码中找不到的代码,是在浏览器执行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";
    }

记录你我
请先登录后发表评论
  • latest comments
  • 总共1条评论
记录你我 记录你我

月才子-谈无欲记录你我

2019-12-05 17:27:31 回复