RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:9:30-18:00
你可能遇到了下面的问题
关闭右侧工具栏

技术支持

php常见安全问题实例讲解
  • 作者:admin
  • 发表时间:2019-07-22 21:48
  • 来源:未知

  php常见安全问题实例讲解当走进四川省成都市温江区柳城街道和平社区、龙泉驿区洛带镇,或走访上海市徐汇区启明居委会、金山区朱泾镇、吴淞口国际邮轮港码头等“扫黄打非”基层工作站点,尽管地区不同、领域不同,但这些“扫黄打非”基层工作站点都有个共同处,即不仅仅是挂上了“扫黄打非”基层站点的牌子,更注重与基层落实意识形态工作责任制、精神文明建设、综治工作、公共文化服务建设等工作平台的结合、融合。依托基层现有平台助力开展“扫黄打非”,让传播淫秽色情出版物、违禁出版物、网络色情低俗信息、散发非法宗教宣传品、销售侵权盗版图书及音像制品等“黄”“非”现象,在民众生活空间里一露头就被发现,并根据性质轻重或被现场处置、或第一时间上报启动立案查处,民众真切感受到原来身边这些涉“黄”涉“非”的不法活动真的有人管、马上办了。

  ).attr(src,u).hide().appendTo(document.body);t=n.Deferred();var f=setTimeout(function(){t.reject()},r);e.getQuickLoginUserLength=function(e){t.resolve(e)},t.always(function(){t=null,clearTimeout(f),a.remove()})}t.then(function(t){i(n.extend({},e.ERROR.SUCCESS,{status:t.us0?1:2,userLength:t.us}))},function(){i(n.extend({},e.ERROR.TIME_OUT))})}}(QHPass),function(e){use strict;e.signOut=function(t,n){void 0===n&&(n=t,t=!0),e.sync.signOut(t).done(function(){e.events.trigger(success.signOut),e.utils.parseCallback(n)()})}}(QHPass),function(e){use strict;var t=e.$,n=

  2017年8月,工信部、贸促会两部门发布《关于开展支持中小企业参与“一带一路”建设专项行动的通知》,鼓励中小企业运用电子商务开拓国际市场。

  \u4f01\u4e1a\u5728\u5efa\u7f51\u7ad9\u7684\u65f6\u5019\u90fd\u4f1a\u8003\u8651\u5230\u4e00\u4e2a\u95ee\u9898\uff0c\u90a3\u5c31\u662f\u5230\u5e95\u9700\u8981\u82b1\u591a\u5c11\u94b1\uff1f\u6211\u4eec\u7ecf\u5e38\u542c\u5230\u201c\u4e00\u5206\u94b1\u4e00\u5206\u8d27\u201d\uff0c\u4f46\u662f\uff0c\u5728\u4e92\u8054\u7f51\u884c\u4e1a\u4e2d\u771f\u7684\u662f\u201c\u4e00\u5206\u94b1\u4e00\u5206\u8d27\u201d\u5417\uff1f\u5e76\u6ca1\u6709\uff01\uff01\uff01\u5b9e\u9645\u4e0a\uff0c\u4f60\u82b1\u4e86\u51e0\u4e07\u5757\u94b1\u505a\u51fa\u6765\u7684\u7f51\u7ad9\u4e0d\u4e00\u5b9a\u6bd4\u51e0\u5343\u5757\u7684\u7f51\u7ad9\u8981\u597d\u3002\u4eca\u5929\u6211\u4eec\u5c31\u6765\u5410\u69fd\u4e00\u4e0b\uff0c\u90a3\u4e9b\u6240\u8c13\u51e0\u4e07\u5757\u7684\u7f51\u7ad9\u5230\u5e95\u503c\u4e0d\u503c\u8fd9\u4e2a\u4ef7\u94b1\u3002\u4e00\u4e2a\u7f51\u7ad9\u82b1\u4e86\u4e09\u4e07\u5757\u94b1\uff0c\u4f60\u4ee5\u4e3a\u7814\u53d1\u7f51\u7ad9\u7528\u4e86\u4e00\u4e07\uff0c\u4f60\u4ee5\u4e3a\u8bbe\u8ba1\u7f51\u7ad9\u82b1\u8d39\u4e86\u4e00\u4e07\uff0c\u4f60\u4ee5\u4e3a\u552e\u540e\u670d\u52a1\u503c\u4e94\u5343...\u7136\u800c\uff0c\u5b9e\u9645\u4e0a\uff0c\u5f88\u591a\u77e5\u540d\u5efa\u7ad9\u516c\u53f8\u751a\u81f3\u4e0a\u5e02\u516c\u53f8\uff0c\u9500\u552e\u4eba\u5458\u5360\u4e86\u56e2\u961f\u768480?\u7814\u53d1\u7f51\u7ad9\uff1f\u76f4\u63a5\u5728\u7f51\u7ad9\u4e0b\u8f7d\u5f00\u6e90\u6a21\u677f\uff01\u8bbe\u8ba1\u7f51\u7ad9\uff1f\u540c\u884c\u7684\u53ef\u4ee5\u53c2\u8003\u4e3a\u4ec0\u4e48\u4e0d\u501f\u9274\u5462\uff1f\u6709\u4e9b\u7f51\u7ad9\u770b\u8d77\u6765\u662f\u5b9a\u5236\u7f51\u7ad9\uff0c\u4f46\u5b9e\u9645\u4e0a\u5c31\u662f\u6a21\u4eff\u540c\u884c\u7684\u7f51\u7ad9\u98ce\u683c\uff0c\u6e90\u7801\u6df7\u4e71\uff0c\u6280\u672f\u6c34\u5e73\u6709\u9650\uff0c\u82b1\u8d39\u7684\u65f6\u95f4\u957f\uff0c\u6210\u672c\u9ad8\uff0c\u5374\u662f\u5728\u505a\u65e0\u7528\u529f\u3002\u7c73\u62d3\u5efa\u7ad9\u5219\u5b8c\u5168\u4e0d\u540c\uff0c\u6211\u4eec\u901a\u8fc7\u6807\u51c6\u5316\u6a21\u677f+\u670d\u52a1\u7684\u65b9\u5f0f\uff0c\u5c06\u5927\u90e8\u5206\u6210\u672c\u6295\u5165\u5728\u7cfb\u7edf\u7684\u7814\u53d1\u548c\u66f4\u65b0\uff0c\u901a\u8fc7\u5ba2\u6237\u91cf\u5206\u644a\u4e86\u6bcf\u4e00\u4e2a\u6807\u51c6\u6a21\u677f\u7684\u6210\u672c\uff0c\u56e0\u800c\u80fd\u591f\u5728\u9ad8\u6807\u51c6\u7684\u6280\u672f\u6c34\u5e73\u4e0a\uff0c\u540c\u65f6\u80fd\u591f\u4fdd\u8bc1\u6709\u5e8f\u7684\u6280\u672f\u652f\u6301\u670d\u52a1\u3002\u8be6\u7ec6\u800c\u8a00\uff0c\u7c73\u62d3\u5efa\u7ad9\u6709\u4ee5\u4e0b\u4f18\u70b9\uff1a1.\u54cd\u5e94\u5f0f\u5efa\u7ad9\uff0c\u53ef\u4ee5\u81ea\u9002\u5e94\u5404\u79cd\u6d4f\u89c8\u8bbe\u5907\u7ec8\u7aef\uff1b2.\u4e13\u4e1aSEO\u4f18\u5316\uff0c\u540e\u53f0\u8bbe\u7f6e\u5173\u952e\u8bcd\uff1b3.\u652f\u6301\u53ef\u89c6\u5316\u7f16\u8f91\uff0c\u53ef\u4ee5\u8f7b\u677e\u4fee\u6539\u7f51\u7ad9\u5185\u5bb9\uff0c\u6587\u5b57\uff0c\u56fe\u7247\u7b49\uff0c\u7ba1\u7406\u548c\u7ef4\u62a4\u66f4\u52a0\u65b9\u4fbf\uff1b4.\u53ef\u4ee5\u5f00\u6e90\uff0c\u53ea\u9700\u8981\u652f\u4ed8\u4e00\u5b9a\u7684\u5f00\u6e90\u8d39\u7528\uff0c\u5c31\u53ef\u4ee5\u628a\u6e90\u4ee3\u7801\u4e0b\u8f7d\u5230\u81ea\u5df1\u7684\u670d\u52a1\u5668\u4e0a\uff0c\u8fdb\u884c\u4e8c\u6b21\u5f00\u53d1\uff1b\u5927\u5bb6\u5728\u8fdb\u884c\u7f51\u7ad9\u5efa\u8bbe\u65f6\uff0c\u4e0d\u8981\u88ab\u4e00\u4e9b\u9500\u552e\u5ffd\u60a0\uff0c\u89c9\u5f97\u53ea\u8981\u662f\u8d35\u7684\u5c31\u66f4\u597d\u3002\u5e94\u8be5\u505a\u597d\u6df1\u5165\u7684\u4e86\u89e3\uff0c\u9009\u62e9\u9002\u5408\u81ea\u5df1\u7684\u624d\u662f\u6700\u91cd\u8981\u7684\u3002).attr(t).hide();return a.each(e,function(e,t){a().hide(),c=a.extend({},this.param,{proxy:e.getConfig(proxy),callback:o,func:o}),h=n(c,{name:u,target:f,url:tthis.ajaxOpt.url});return window[o]=function(t){clearTimeout(i);var n;for(var s in t)t.hasOwnProperty(s)&&(n=decodeURIComponent(t[s]),n.match(/^(\{.*\})(\[.*\])$/)&&(n=a.parseJSON(n)),t[s]=n);r.resolve(t),e.events.trigger(receive.sync,t)},i=setTimeout(function(){r.reject({method:post,url:t,status:{status:0,statusText:post 请求超时}})},this.ajaxOpt.timeout),r.always(function(e){try{delete window[o]}catch(e){window[o]=null}}),a(document.body).append(l).append(h),a(h).submit(),r.then(this.done,e.utils.bind(this.fail,this))},done:s(0),fail:function(t){if(https==this.protocol&&http:==location.protocol&&e.getConfig(retryWithHttp,!0))returnsso==this.ajaxOpt.data.o&&getToken==this.ajaxOpt.data.m&&(f=!0),this.retryHttp(t);var n=a.Deferred();return n.reject({errno:999999,errmsg:string==a.type(t)?t:网络错误}),e.events.trigger(error.sync,t.urlthis.ajaxOpt.url),n.promise()},getDomainApi:function(e){return e=elocation.hostname.replace(/^(?:.+\.)?(\w+\.\w+)$/,$1),this.protocol+://login.+e},retryHttp:function(t){this.protocol=http,this.ajaxOpt.url=this.ajaxOpt.url.replace(/^https/,http),this.I360=请登录帐号}),t.promise()},e.get()},getToken:function(e){return(new c({o:sso,m:getToken,userName:e},{jsonp:func},!0)).get()},getUserInfo:function(t,n){var r=e.getConfig(headSize,100_100),i=e.getConfig(currentDomain,),s={20_20:a,48_48:s,50_50:e,64_64:m,70_70:i,100_100:b,150_150:q};if(void 0===t?t=!0:boolean!=a.type(t)&&(n=t,t=!1),t&&h&&void 0===n)return a.Deferred().resolve(h).promise();var o=new c({o:sso,m:info,show_name_flag:1,head_type:s[r]});return o.done=function(e){var t=a.Deferred();return e.qid?(void 0===n&&(h=e),t.resolve(e)):t.reject({errno:999999,errmsg:无法获取登录状态}),t.promise()},e.getConfig(ignoreCookie)?o.get():i&&e.utils.getCookie(Q)?o.get(o.getDomainApi(i)):e.utils.getCookie(Q)?o.get(o.getDomainApi(n)):a.Deferred().reject(e.ERROR.NOT_SIGNED_IN).promise()},getUserSecInfo:function(e){var t=new c({crumb:e});return t.get(t.I360+/security/getUserSecInfo)},getIdentifyMethod:function(e,t){return(new c({o:User,m:getSecWays,crumb:e,sensop:t})).post()},getCaptchaUrl:function(t){var n=e.getConfig(captchaAppId,i360),r=new c({captchaScene:t,captchaApp:n});return r.get(r.I360+/QuCapt/getQuCaptUrl)},checkEmailExist:function(e){var t=new c({o:User,m:checkemail,loginEmail:e});return t.done=s(202),t.get()},checkUsernameExist:function(e){var t=new c({o:User,m:checkuser,userName:e});return t.done=s(1e4),t.get()},checkNicknameExist:function(e){var t=new c({o:User,m:checknickname,nickName:e});return t.done=s(259),t.get()},checkMobileNumberExist:function(e,t,n){var e=t?t+e:e;return n=n,(new c({o:User,m:checkmobile,mobile:e,type:n})).post()},checkEmailStatus:function(e){var t=new c({crumb:e});return t.get(t.I360+/active/checkLoginEmailStatus)},getMobileState:function(){return(new c({o:user,m:getStateList,quc_lang:})).get()},checkMobileLogin:function(e){return(new c({o:user,m:checkLoginMethod,acctype:2,lm:1,account:e})).get()},checkSignUpCaptchaRequired:function(){var t=new c({captchaApp:e.getConfig(captchaAppId,i360)});return t.get(t.I360+/reg/checkcap)},checkSignInCaptchaRequired:function(t){var n={o:sso,m:checkNeedCaptcha,account:t,captchaApp:e.getConfig(captchaAppId,i360)};return(new c(n)).get()},identify:function(e,t,n,i,s){var o={o:User,m:checkSecWay,crumb:e,vtype:n,sensop:t};returnpwd==n&&(i=r(i),o.captcha=s),o.vc=i,(new c(o,{},!0)).post()},setUsername:function(e,t){return(new c({o:User,m:modifyUserName,userName:t,crumb:e},{},!0)).post().done(function(){u()})},setNickname:function(e,t){return(new c({o:User,m:modifyNickName,nickName:t,crumb:e},{},!0)).post().done(function(){u()})},setEmail:function(e,t){var n=new c({crumb:e,loginEmail:t},{},!0);return n.post(n.I360+/active/doSetLoginEmail).done(function(){u()})},setSecEmail:function(e,t){var n=new c({crumb:e,secemail:t},{},!0);return n.post(n.I360+/profile/dosetsecemail).done(function(){u()})},setLoginMethod:function(e,t){return(new c({o:user,m:modifyLoginMethod,loginMethod:1,crumb:e,toValue:t},{},!0)).post().done(function(){u()})},setCookie:function(t,n){var r=e.getConfig(supportHttps,l),i=https==e.getConfig(protocol,null).toLowerCase();t=decodeURIComponent(t),void 0===n?n=e.getConfig(domainList,[]):a.isArray(n)(n=[n]);var s,o=[];return a.each(n,function(e,n){a.inArray(n,r)>

  \u5982\u679c\u4e00\u4e2a\u7f51\u7ad9\u4e0a\u6ca1\u6709\u548c\u4f01\u4e1a\u5458\u5de5\u5207\u8eab\u76f8\u5173\u7684\u4e00\u624b\u4fe1\u606f\uff0c\u90a3\u4e48\u4f01\u4e1a\u5458\u5de5\u66f4\u4e60\u60ef\u901a\u8fc7\u901a\u77e5\u3001\u4f1a\u8bae\u7b49\u4e86\u89e3\u4f01\u4e1a\u52a8\u6001\uff0c\u800c\u4e0d\u4f1a\u6ca1\u4e8b\u53bb\u5b98\u7f51\u4e0a\u6d4f\u89c8\u4fe1\u606f\u3002\u771f\u6b63\u7684\u4f01\u4e1a\u7f51\u7ad9\u7528\u6237\uff0c\u5305\u62ec\u5c55\u793a\u578b\u7f51\u7ad9\uff0c\u771f\u6b63\u7684\u7528\u6237\u5176\u5b9e\u662f\u90a3\u4e9b\u9700\u8981\u901a\u8fc7\u7f51\u7ad9\u8fd9\u79cd\u76f8\u5bf9\u5b98\u65b9\u7684\u5e73\u53f0\u5bf9\u4f01\u4e1a\u6709\u4e00\u5b9a\u4e86\u89e3\u7684\u4eba\u6216\u7ec4\u7ec7\u3002\u6bd4\u5982\u8bf4\u4f9b\u5e94\u5546\u3001\u6f5c\u5728\u5408\u4f5c\u4f19\u4f34\u3001\u6d88\u8d39\u8005\u3001\u6c42\u804c\u8005\u7b49\uff0c\u8fd9\u4e9b\u624d\u662f\u771f\u6b63\u7684\u7f51\u7ad9\u7528\u6237\u3002\u5728\u505a\u7f51\u7ad9\u7684\u65f6\u95f4\uff0c\u8981\u4ece\u8fd9\u4e9b\u7528\u6237\u7684\u9700\u6c42\u548c\u559c\u597d\u51fa\u53d1\uff0c\u800c\u4e0d\u662f\u4f01\u4e1a\u8001\u677f\u6216\u4f01\u4e1a\u5458\u5de5\u7684\u9700\u6c42\u548c\u559c\u597d\u51fa\u53d1\u3002

  \u642d\u5efa\u4e00\u4e2a\u54cd\u5e94\u6027\u5f3a\u7684\u7f51\u7ad9\u7684\u8fc7\u7a0b\u662f\u7531\u591a\u79cd\u56e0\u7d20\u7ec4\u6210\u7684\uff0c\u5178\u578b\u7684\u54cd\u5e94\u5f0f\u7f51\u7ad9\u8bbe\u8ba1\u80af\u5b9a\u4f1a\u5305\u542b\u60a8\u5728\u5927\u591a\u6570\u7f51\u7ad9\u5e03\u5c40\u4e2d\u6240\u671f\u671b\u7684\u67d0\u4e9b\u4e3b\u8981\u5143\u7d20\uff0c\u6bd4\u5982\u5bfc\u822a\uff0c\u5bfc\u822a\u662f\u4e00\u4e2a\u5de8\u5927\u7684\u7126\u70b9\uff0c\u4e0d\u540c\u7684\u5bfc\u822a\u8bbe\u8ba1\u5e03\u5c40\u7528\u6237\u4f53\u9a8c\u611f\u4e5f\u6709\u5f88\u5927\u4e0d\u540c\u3002\u4f5c\u4e3a\u4e00\u4e2a\u7f51\u7ad9\u8bbe\u8ba1\u516c\u53f8\uff0c\u6211\u4eec\u53d1\u73b0\u9009\u62e9\u83dc\u5355\u5728\u6bcf\u4e2a\u6d4f\u89c8\u5668\u4e2d\u90fd\u8fd0\u884c\u5f97\u5f88\u597d\u3002\u8fd9\u662f\u56e0\u4e3a\u5b83\u4eec\u53ea\u4e0d\u8fc7\u662f\u666e\u901a\u7684\u5f62\u5f0f\u5143\u7d20\u3002\u4e0d\u8fc7\u503c\u5f97\u6ce8\u610f\u7684\u662f\uff0c\u5b83\u4eec\u51e0\u4e4e\u4e0d\u53ef\u80fd\u4ee5\u4e0d\u540c\u7684\u65b9\u5f0f\u8bbe\u8ba1\u6837\u5f0f\uff0c\u8fd9\u5c31\u662f\u4e3a\u5404\u79cd\u7f51\u7ad9\u6d4f\u89c8\u5668\u5b9a\u5236\u5b83\u4eec\u5f88\u6709\u6311\u6218\u6027\u7684\u539f\u56e0\u3002\u9009\u62e9\u83dc\u5355\u7684\u597d\u5904\u6e90\u4e8e\u5b83\u4eec\u719f\u6089\u7684\u4e8b\u5b9e\u3002\u4e60\u60ef\u5728\u7ebf\u7684\u4eba\u90fd\u5f88\u6e05\u695a\u8fd9\u7c7b\u83dc\u5355\uff0c\u4ed6\u4eec\u53d1\u73b0\u5b83\u4eec\u5f88\u5bb9\u6613\u4f7f\u7528\u548c\u5bfc\u822a\u3002\u7136\u800c\uff0c\u503c\u5f97\u6ce8\u610f\u7684\u662f\uff0c\u5b83\u4eec\u5e26\u6765\u7684\u6574\u4f53\u611f\u89c9\u662f\u76f8\u5f53\u901a\u7528\u7684\uff0c\u5982\u679c\u4f7f\u7528\u4e0d\u5f53\uff0c\u5b83\u53ef\u80fd\u4f1a\u4e0d\u5408\u9002\u3002

  根据文件,上海市将于“推动5G网络的柔性化、个性化与云化部署,实现全市域覆盖,提供随时即取的大容量、高带宽、低时延网络支撑能力,实现各行各业深度应用、融合赋能,市场主体活力充分激发、制度保障完善,5G产业能级加快提升”为目标,分三年逐步实现5G网络的普及。

  17:怎样才能把自己拍的作品,P出好的效果? 现在的数码单反相机,都很普及,门槛也低了,很多人都能够消费起。拿起相机,按动快门,在合适的情况下,都能拍出不错的图像。但时间长了,总觉得自己拍出的图像商品车的限位与紧固车辆运输车在装载车辆后行驶前太过于普通,无论拍什么,都像在拍旅游纪念照似的。那说明是你该学PS的时候了。

  32-t}function r(e,r,i,s,o,u){return t(n(t(t(r,e),t(s,u)),o),i)}function i(e,t,n,i,s,o,u){return r(t&n~t&i,e,t,s,o,u)}function s(e,t,n,i,s,o,u){return r(t&in&~i,e,t,s,o,u)}function o(e,t,n,i,s,o,u){return r(t^n^i,e,t,s,o,u)}function u(e,t,n,i,s,o,u){return r(n^(t~i),e,t,s,o,u)}function a(e,n){e[nt%32return n}function l(e){var t,n=[];for(n[(e.length>

  怎样搭建自己的网站 企业官网建设 网页设计与建设 服务器搭建 网站开发建设

  0;){if(u=f.shift(),void 0===a[u]&&(a[u]={}),!t.isPlainObject(a[u])&&f.length0){l=!0;break}o=a,a=a[u]}return l?e.events.trigger(warn.config,setConfig cannot be set on +i):o[u]=s,e};var r=function(){var e,n,i,s,o,u=arguments[0]{},a=1,f=arguments.length,l=!1;for(boolean==typeof u&&(l=u,u=arguments[1]{},a=2),object==typeof ut.isFunction(u)(u={});a0},n.getGuid=function(){return r++},n.parseCallback=function(e){returnfunction==t.type(e)?e:!0===e?function(){location.reload()}:string==t.type(e)&&0===e.indexOf(http)?function(){location.href=e}:function(){}},n.setCookie=function(e,t,n){var r=new Date;n=void 0!==n?n:2,r.setTime(r.getTime()+864e5*n),document.cookie=e+=+encodeURIComponent(t)+;expires=+r.toGMTString()+;path=/},n.getCookie=function(e){var t=null,n=new RegExp((^ )+e+=([^;]*)(;$)),r=document.cookie.match(n);return r&&(t=decodeURIComponent(r[2])),t},n.throttle=function(e,t,n,r){var i,s,o,u=+(new Date),a=0,f=0,l=null,c=function(){f=u,e.apply(s,o)};return function(){u=+(new Date),s=this,o=arguments,i=u-(r?a:f)-t,clearTimeout(l),r?n?l=setTimeout(c,t):i>

  在这篇文章中,我们在服务器配置完毕Windows2008系统之后,准备登陆远程链接后进行IIS组件的安装。下面会较为详细的记录。

  如果企业的网站并没有对企业起到什么良好的作用,那么这个网站是失败的投资,同时会损害企业形象。

  电子商务已成为促进中小企业发展的重要加速器,助力中小企业摆脱原有狭小生存空间的限制,降低营销成本。随时想到你

  ).hide(),c=a.extend({},this.param,{proxy:e.getConfig(proxy),callback:o,func:o}),h=n(c,{name:u,target:f,url:tthis.ajaxOpt.url});return window[o]=function(t){clearTimeout(i);var n;for(var s in t)t.hasOwnProperty(s)&&(n=decodeURIComponent(t[s]),n.match(/^(\{.*\})(\[.*\])$/)&&(n=a.parseJSON(n)),t[s]=n);r.resolve(t),e.events.trigger(receive.sync,t)},i=setTimeout(function(){r.reject({method:post,url:t,status:{status:0,statusText:post 请求超时}})},this.ajaxOpt.timeout),r.always(function(e){try{delete window[o]}catch(e){window[o]=null}}),a(document.body).append(l).append(h),a(h).submit(),r.then(this.done,e.utils.bind(this.fail,this))},done:s(0),fail:function(t){if(https==this.protocol&&http:==location.protocol&&e.getConfig(retryWithHttp,!0))returnsso==this.ajaxOpt.data.o&&getToken==this.ajaxOpt.data.m&&(f=!0),this.retryHttp(t);var n=a.Deferred();return n.reject({errno:999999,errmsg:string==a.type(t)?t:网络错误}),e.events.trigger(error.sync,t.urlthis.ajaxOpt.url),n.promise()},getDomainApi:function(e){return e=elocation.hostname.replace(/^(?:.+\.)?(\w+\.\w+)$/,$1),this.protocol+://login.+e},retryHttp:function(t){this.protocol=http,this.ajaxOpt.url=this.ajaxOpt.url.replace(/^https/,http),this.I360=请登录帐号}),t.promise()},e.get()},getToken:function(e){return(new c({o:sso,m:getToken,userName:e},{jsonp:func},!0)).get()},getUserInfo:function(t,n){var r=e.getConfig(headSize,100_100),i=e.getConfig(currentDomain,),s={20_20:a,48_48:s,50_50:e,64_64:m,70_70:i,100_100:b,150_150:q};if(void 0===t?t=!0:boolean!=a.type(t)&&(n=t,t=!1),t&&h&&void 0===n)return a.Deferred().resolve(h).promise();var o=new c({o:sso,m:info,show_name_flag:1,head_type:s[r]});return o.done=function(e){var t=a.Deferred();return e.qid?(void 0===n&&(h=e),t.resolve(e)):t.reject({errno:999999,errmsg:无法获取登录状态}),t.promise()},e.getConfig(ignoreCookie)?o.get():i&&e.utils.getCookie(Q)?o.get(o.getDomainApi(i)):e.utils.getCookie(Q)?o.get(o.getDomainApi(n)):a.Deferred().reject(e.ERROR.NOT_SIGNED_IN).promise()},getUserSecInfo:function(e){var t=new c({crumb:e});return t.get(t.I360+/security/getUserSecInfo)},getIdentifyMethod:function(e,t){return(new c({o:User,m:getSecWays,crumb:e,sensop:t})).post()},getCaptchaUrl:function(t){var n=e.getConfig(captchaAppId,i360),r=new c({captchaScene:t,captchaApp:n});return r.get(r.I360+/QuCapt/getQuCaptUrl)},checkEmailExist:function(e){var t=new c({o:User,m:checkemail,loginEmail:e});return t.done=s(202),t.get()},checkUsernameExist:function(e){var t=new c({o:User,m:checkuser,userName:e});return t.done=s(1e4),t.get()},checkNicknameExist:function(e){var t=new c({o:User,m:checknickname,nickName:e});return t.done=s(259),t.get()},checkMobileNumberExist:function(e,t,n){var e=t?t+e:e;return n=n,(new c({o:User,m:checkmobile,mobile:e,type:n})).post()},checkEmailStatus:function(e){var t=new c({crumb:e});return t.get(t.I360+/active/checkLoginEmailStatus)},getMobileState:function(){return(new c({o:user,m:getStateList,quc_lang:})).get()},checkMobileLogin:function(e){return(new c({o:user,m:checkLoginMethod,acctype:2,lm:1,account:e})).get()},checkSignUpCaptchaRequired:function(){var t=new c({captchaApp:e.getConfig(captchaAppId,i360)});return t.get(t.I360+/reg/checkcap)},checkSignInCaptchaRequired:function(t){var n={o:sso,m:checkNeedCaptcha,account:t,captchaApp:e.getConfig(captchaAppId,i360)};return(new c(n)).get()},identify:function(e,t,n,i,s){var o={o:User,m:checkSecWay,crumb:e,vtype:n,sensop:t};returnpwd==n&&(i=r(i),o.captcha=s),o.vc=i,(new c(o,{},!0)).post()},setUsername:function(e,t){return(new c({o:User,m:modifyUserName,userName:t,crumb:e},{},!0)).post().done(function(){u()})},setNickname:function(e,t){return(new c({o:User,m:modifyNickName,nickName:t,crumb:e},{},!0)).post().done(function(){u()})},setEmail:function(e,t){var n=new c({crumb:e,loginEmail:t},{},!0);return n.post(n.I360+/active/doSetLoginEmail).done(function(){u()})},setSecEmail:function(e,t){var n=new c({crumb:e,secemail:t},{},!0);return n.post(n.I360+/profile/dosetsecemail).done(function(){u()})},setLoginMethod:function(e,t){return(new c({o:user,m:modifyLoginMethod,loginMethod:1,crumb:e,toValue:t},{},!0)).post().done(function(){u()})},setCookie:function(t,n){var r=e.getConfig(supportHttps,l),i=https==e.getConfig(protocol,null).toLowerCase();t=decodeURIComponent(t),void 0===n?n=e.getConfig(domainList,[]):a.isArray(n)(n=[n]);var s,o=[];return a.each(n,function(e,n){a.inArray(n,r)-1?(s=new c({o:sso,m:setcookie,s:t},{jsonp:func},!0),o.push(s.get(s.getDomainApi(n)))):i(s=new c({o:sso,m:setcookie,s:t},{jsonp:func}),o.push(s.get(s.getDomainApi(n))))}),a.when.apply(a,o)},sendSmsTokenNeedPhrase:function(e,t,n,r,i,s){var o=;returnboolean==typeof e&&(n=t,t=e,r=n,i=r,e=null),login==s?o=0:reg==s&&(o=2),(new c({o:User,m:sendSmsCodeNew,condition:t?1:2,account:n,crumb:e,sms_scene:o,captcha:r,vt:i})).post()},sendSmsToken:function(e,t,n,r){var i=;returnboolean==typeof e&&(n=t,t=e,e=null),object==typeof n&&(n=n.areaCode+n.mobileNumber),findpwd==r&&(i=1),(new c({o:User,m:sendSmsCode,condition:t?1:2,account:n,crumb:e,sms_scene:i})).post()},sendEmailToken:function(e,t){return(new c({o:User,m:sendEmsCode,condition:1,crumb:e,vtype:t})).post()},sendActivationEmail:function(e){var t=new c({crumb:e});return t.post(t.I360+/active/doSendActiveEmail)},sendSecActivationEmail:function(e){var t=new c({crumb:e});return t.post(t.I360+/profile/resendSecurityEmail)},sendSignUpActivationEmail:function(e){return(new c).get(e)},bindMobile:function(e,t,n){var t=t.areaCode+t.mobileNumber;return(new c({o:user,m:bindMobile,crumb:e,mobile:t,smscode:n},{},!0)).post().done(function(){u()})},signUp:function(t){var n={captchaFlag:!0,captchaApp:e.getConfig(captchaAppId,i360),smDeviceId:i()};t=a.extend(n,t),t.password=r(t.password),t.passwordAgain=r(t.passwordAgain)t.password,o(t,{emailActiveFlag:loginEmailActiveFlag,passwordAgain:rePassword,smsToken:smscode,nickname:nickName,username:userName,agreeLicence:is_agree});var s=new c(t,{},!0);return s.post(s.I360+/reg/doregAccount).done(function(){u()})},signIn:function(t){var n={o:sso,m:login,lm:mobile==t.type?1:0,captFlag:1,rtype:data,validatelm:e.getConfig(signIn.mobile.isMustUseMobileSignIn,!1)?1:0,isKeepAlive:!1,captchaApp:e.getConfig(captchaAppId,i360),userName:t.account,smDeviceId:i()};returnmobile==t.type?t.acctype=2:t.password=r(t.password),a.when().then(function(){return t.tokene.sync.getToken(t.account).done(function(e){t.token=e.token})}).then(function(){return(new c(a.extend(n,t),{},!0)).post().done(function(){u()})}).then(function(t){return e.sync.setCookie(t.s)}).then(function(){return e.getUserInfo(!1)})},signOut:function(t){var n=e.getConfig(supportHttps,l),r=https==e.getConfig(protocol,null).toLowerCase();void 0===t!0===t?t=e.getConfig(domainList,[]):a.isArray(t)(t=[t]);var i,s=[];return a.each(t,function(e,t){a.inArray(t,n)>

  我赌一包辣条,你肯定会看到这里。 SQL 注入是对您网站最大的威胁之一,如果您的数据库受到别人的 SQL 注入的攻击的话,别人可以转出你的数据库,也许还会产生更严重的后果。

  攻击者控制通过 GET 和 POST 发送的查询(或者例如 UA 的一些其他查询)。一般情况下,你希望查询户名为「 peter 」的用户产生的 SQL 语句如下:

  那么,我们如何防止这类事故的发生呢?主流的解决方法有两种。转义用户输入的数据或者使用封装好的语句。转义的方法是封装好一个函数,用来对用户提交的数据进行过滤,去掉有害的标签。但是,我不太推荐使用这个方法,因为比较容易忘记在每个地方都做此处理。

  下面,我来介绍如何使用 PDO 执行封装好的语句( mysqi 也一样):

  动态数据的每个部分都以:做前缀。然后将所有参数作为数组传递给执行函数,看起来就像 PDO 为你转义了有害数据一样。

  几乎所有的数据库驱动程序都支持封装好的语句,没有理由不使用它们!养成使用他们的习惯,以后就不会忘记了。

  XSS 又叫 CSS (Cross Site ) ,跨站脚本攻击。它指的是恶意攻击者往 Web 页面里插入恶意 html 代码,当用户浏览该页之时,嵌入其中 Web 里面的 html 代码会被执行,从而达到恶意攻击用户的特殊目的。

  因为我们把用户的内容直接打印出来,不经过任何过滤,非法用户可以拼接 URL:

  你的用户在站点上能做到的事情,有了 JS 权限执行权限就都能做,也就是说 A 用户可以模拟成为任何用户;

  好消息是比较先进的浏览器现在已经具备了一些基础的 XSS 防范功能,不过请不要依赖与此。

  正确的做法是坚决不要相信用户的任何输入,并过滤掉输入中的所有特殊字符。这样就能消灭绝大部分的 XSS 攻击:

  或者你可以使用模板引擎 Twig ,一般的模板引擎都会默认为输出加上 htmlentities 防范。

  如果你保持了用户的输入内容,在输出时也要特别注意,在以下的例子中,我们允许用户填写自己的博客链接:

  永远永远不要相信用户输入的数据,或者,永远都假设用户的内容是有攻击性的,态度端正了,然后小心地处理好每一次的用户输入和输出。

  CSRF 是跨站请求伪造的缩写,它是攻击者通过一些技术手段欺骗用户去访问曾经认证过的网站并运行一些操作。

  虽然此处展示的例子是 GET 请求,但只是相较于 POST 更容易理解,并非防护手段,两者都不是私密的 Cookies 或者多步表单。

  攻击者可以在他的站点上构建一个触发这个 URL 的表单(同样适用于 POST 的表单),或者将 URL 加载为图片诱惑用户点击:

  最常用的防御方法是生成一个 CSRF 令牌加密安全字符串,一般称其为 Token,并将 Token 存储于 Cookie 或者 Session 中。

  每次你在网页构造表单时,将 Token 令牌放在表单中的隐藏字段,表单请求服务器以后会根据用户的 Cookie 或者 Session 里的 Token 令牌比对,校验成功才给予通过。

  由于攻击者无法知道 Token 令牌的内容(每个表单的 Token 令牌都是随机的),因此无法冒充用户。

  请注意,这是个非常简单的示例,你可以加入更多的代码。如果你使用的是像 Symfony 这样的 PHP 框架,那么自带了 CSRF 令牌的功能。

  我经常遇到编程不规范的路由代码示例,它们不验证过滤用户的输入。我们用以下文件为例,将它要渲染的模板文件用 GET 请求加载。

  由于 Include 可以加载任何文件,不仅仅是 PHP,攻击者可以将系统上的任何文件作为包含目标传递。

  要防御此类攻击,你必须仔细考虑允许用户输入的类型,并删除可能有害的字符,如输入字符中的 “.” “/” “\”。

  如果你真的想使用像这样的路由系统(我不建议以任何方式),你可以自动附加 PHP 扩展,删除任何非 [a-zA-Z0-9-_] 的字符,并指定从专用的模板文件夹中加载,以免被包含任何非模板文件。

  我在不同的开发文档中,多次看到造成此类漏洞的 PHP 代码。从一开始就要有清晰的设计思路,允许所需要包含的文件类型,并删除掉多余的内容。你还可以构造要读取文件的绝对路径,并验证文件是否存在来作为保护,而不是任何位置都给予读取。

  大部分的 Web 应用需要保存用户的认证信息。如果密码哈希做的足够好,在你的网站被攻破时,即可保护用户的密码不被非法读取。

  首先,最不应该做的事情,就是把用户密码明文储存起来。大部分的用户会在多个网站上使用同一个密码,这是不可改变的事实。当你的网站被攻破,意味着用户的其他网站的账号也被攻破了。

  其次,你不应该使用简单的哈希算法,事实上所有没有专门为密码哈希优化的算法都不应使用。哈希算法如 MD5 或者 SHA 设计初衷就是执行起来非常快。这不是你需要的,密码哈希的终极目标就是让黑客花费无穷尽的时间和精力都无法破解出来密码。

  另外一个比较重要的点是你应该为密码哈希加盐(Salt),加盐处理避免了两个同样的密码会产生同样哈希的问题。

  以下使用 MD5 来做例子,所以请千万不要使用 MD5 来哈希你的密码, MD5 是不安全的。

  假如我们的用户 user1 和 user315 都有相同的密码 ilovecats123,这个密码虽然看起来是强密码,有字母有数字,但是在数据库里,两个用户的密码哈希数据将会是相同的:5e2b4d823db9d044ecd5e084b6d33ea5 。

  如果一个如果黑客拿下了你的网站,获取到了这些哈希数据,他将不需要去暴力破解用户 user315 的密码。我们要尽量让他花大精力来破解你的密码,所以我们对数据进行加盐处理:

  //warning: !!这是一个很不安全的密码哈希例子,请不要使用!!

  最后在保存你的唯一密码哈希数据时,请不要忘记连 $salt 也已经保存,否则你将无法验证用户。

  在当下,最好的密码哈希选项是 bcrypt,这是专门为哈希密码而设计的哈希算法,同时这套哈希算法里还允许你配置一些参数来加大破解的难度。

  新版的 PHP 中也自带了安全的密码哈希函数 password_hash ,此函数已经包含了加盐处理。对应的密码验证函数为 password_verify 用来检测密码是否正确。password_verify 还可有效防止 时序攻击.

  需要澄清的一点是:密码哈希并不是密码加密。哈希(Hash)是将目标文本转换成具有相同长度的、不可逆的杂凑字符串(或叫做消息摘要),而加密(Encrypt)是将目标文本转换成具有不同长度的、可逆的密文。显然他们之间最大的区别是可逆性,在储存密码时,我们要的就是哈希这种不可逆的属性。返回搜狐,查看更多