微信扫一扫打赏支持

legend3---16、网站的安全性问题

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、服务端一定要验证了才能操作数据库,不然很容易被客户端发起请求非法操作数据库,比如刷金币?

数据库的话就先查表,缓存的就查是否有这部分缓存数据

 

 

 

二、内容在总结中

 

 

 

 
posted @ 2019-11-16 00:00  范仁义  阅读(170)  评论(0)    收藏  举报