legend3---16、网站的安全性问题
一、总结
一句话总结:
通过客户端传递参数的方式也是有些危险,需要注意
单纯的获取数据的方法还好,但是 修改数据库方法一定要同时做前后端验证
1、php的blade语法是可以和vue混用的?
因为解析php在服务端,比解析vue早很多,解析vue在客户端
2、用户数据(比如用戶表的)转化为json之后能够直接传给window对象吗:比如 window.user={!! json_encode($user) !!};?
不能,因为这样,用户的数据就会跑到客户端去了,这种敏感数据的话就太危险了
3、连表的时候如果把用户的信息弄出去就太危险了?
连表的时候不要user.*
4、传参数数据到页面,如果用户改了数据,那么他预期的就是错误的结果,这样对他和正常用户都没有影响?
还是推荐使用页面做数据的参数,也就是可以把数据传到页面,而不用session
只是单纯的获取数据(非敏感),完全就可以将参数传递到客户端
5、对有多种访客权限的页面(比如个人中心页,粉丝页,关注页)都要增加路由参数,而不能只用session?
只用session的话用户在进进退退之间容易出问题
如果对每个多种权限的页面弄一个session的话,就不会出错了
6、每个 多种访客权限的页面 鉴别身份的变量 不要互用?
比如粉丝页 就不能用个人中心页 的鉴别用户身份的变量来鉴别用户的身份
7、监听回车事件(搜索框)?
$("#navbar-search-input").keypress(function(event){if(event.which === 13) { /*要执行的代码*/ }})
<form class="navbar-form navbar-left" role="search">
<div class="form-group">
<input type="text" data-url="{{url('/search_lesson')}}" class="form-control" id="navbar-search-input" placeholder="找课程">
</div>
</form>
{{--找课程回车键事件--}}
<script>
$(function () {
//$("#focus")为获取id为focus的元素
$("#navbar-search-input").keypress(function(event){
if(event.which === 13) {
//点击回车要执行的事件
let search_content=$('#navbar-search-input').val();
let url=$('#navbar-search-input').data('url');
url=url+'/'+trim(search_content);
window.location.href=url;
//console.log(search_content);
console.log(url);
return false;
}
})
});
</script>
8、adminlte模板中的search框默认有事件,如何阻止它默认的事件?
直接在自己的事情里面return false,因为自己的事件在它的事件前,所以可以阻止发生
<form class="navbar-form navbar-left" role="search">
<div class="form-group">
<input type="text" data-url="{{url('/search_lesson')}}" class="form-control" id="navbar-search-input" placeholder="找课程">
</div>
</form>
{{--找课程回车键事件--}}
<script>
$(function () {
//$("#focus")为获取id为focus的元素
$("#navbar-search-input").keypress(function(event){
if(event.which === 13) {
//点击回车要执行的事件
let search_content=$('#navbar-search-input').val();
let url=$('#navbar-search-input').data('url');
url=url+'/'+trim(search_content);
window.location.href=url;
//console.log(search_content);
console.log(url);
return false;
}
})
});
</script>
9、消息的已读和未读如何确定?
如果是自己打开个人中心页,那么当前所有的消息都是已读
可以在获取数据之后将消息置为已读
10、服务端一定要验证了才能操作数据库,不然很容易被客户端发起请求非法操作数据库,比如刷金币?
数据库的话就先查表,缓存的就查是否有这部分缓存数据
二、内容在总结中