美文网首页
tp5帐号登陆的几点注意

tp5帐号登陆的几点注意

作者: developerAbble | 来源:发表于2018-10-10 15:48 被阅读126次

对于一个差不多的网站,安全性重中之重。如果利用TP5从无到有书写,会出现很多安全性问题;如果利用thinkcmf诸如此类的内容管理框架,安全性问题倒是少了,但写代码不是那么自由。

  1. ADMIN与admin都能登陆,mysql查询不能分辨大小写

发现网站不区分用户名的大小写。输入admin和ADMIn,或者其它诸如此类,同样可以登陆。以前用的是内容管理框架,倒从来没发现这样的情况。

网上搜索的答案,普遍两种方法,但其中一种(修改建表语句的sql), 笔者这里没试通。只有下面的方法可以:

即:在搜索的字段 name 前加上 binary 以确保大小写敏感。

  1. sql注入

理解什么叫sql注入很简单,网上教程很多。但是解决起来,有点问题,大海捞针的感觉。

所以最重要的是:利用相应的测试工具或辅助软件进行检测。 再强调一遍,这是最重要的。

  • 那么如何解决呢?

还是把sql注入当做小偷偷东西吧,防止小偷偷东西,可以从三个角度分析:

  1. 把门关的死死的,不让小偷进去
    放在程序中就是对输入的参数进行正则过滤,永远不要相信用户输入的数据。可以自定义一个数据验证层。如果想简单一点,搞一个正则验证。都可以。

  2. 把柜子锁起来

这个是核心。截张图如下:

其实框架本身提供的搜索查询语句几乎已经保证了sql注入。但有时写的时候,要注意点。如上图,不得已在where里面写了sql语句,赋值的时候,预绑定的写法还是不错的。其它几种写法就不在这里总结了,网上很多,这里只是另外的一个思路。

  1. 偷走了东西,但是这东西对小偷没用

前几年还有偷手机的现象,这几年很少了。原因之一就是偷去了也没用,手机锁、微信、支付宝的各种验证,完全可以预防现有各种破解。

对于防止sql注入也是的,要对数据库中的敏感信息进行加密或其它处理。即使别人利用sql注入将信息偷了出去,看不懂,也是枉然。

3.两种方式输入空格

一般而言,帐号和密码中是不允许使用空格的。这分为两部分:前端控制和后端验证。

前端控制:onkeyup="this.value=this.value.replace(/^ +| +$/g, '')"
这个属性挺好玩的,up向上的意思,即当松开键盘的时候,执行这个方法。不过这个属性也有缺陷,当输入两个字母,再返回,在中间输入空格,是可以的。比如这样:a b。中间的空格是输入b后再返回ab中间而输入的。

后端控制: 便是利用PHP进行筛选。比如: strpos($name," ")

4.禁止使用admin/123456

近几天在公众号上连续看到几篇文章,对admin/123456大加斥责。不管是admin还是123456,不用最好。

5.连接数据库时禁止使用root帐户

看到大多数的网站,配置文件中都用root连接数据库。这样一旦密码被破解,整个数据库就完全暴露了。如果单独创建用户,设置权限,会安全很多。

同样的原理在于CentOS,大多数人直接操作root,如果为每个人创建一个特定用户,分配权限组,分配权限,会安全很多。同时,个人用户也可以创建自己的个人信息。

6.php的加密方式反对使用md5

  1. md5是可以暴力破解的
  2. md5不是用来加密密码的,是用来校验数据完整性的。它的计算速度很快,而计算速度很快,意味着暴力破解/穷举法等成为可能。

在php中可以使用password_hash,如下截图:

具体如何使用可以google,这里只是个引子。印像中,可以对时间进行控制,这样,就大大加深暴力破解的成本了。当然,密码长度是王道,外加上字母特殊字符的搭配。

7.改变端口号,比如22和3306

改变端口号也是个不错的选择。这个就看个人选择了或者特殊情况。笔者认为没那个必要,有时候统一有统一的好处。

相关文章

  • tp5帐号登陆的几点注意

    对于一个差不多的网站,安全性重中之重。如果利用TP5从无到有书写,会出现很多安全性问题;如果利用thinkcmf诸...

  • Android发布开源项目到binary/Jcenter

    1. 创建 binary帐号并配置 登陆 bintray[https://bintray.com/] 并创建帐号 ...

  • 学习心得三:一个帐号和其他

    这是一个有帐号的时代。帐号已超越了名称的本义,成为网络登陆、通道等等的通行证。本次上海培训当然全程需要帐号,从报名...

  • centos 7 自动登录

    开机自动登陆帐号和密码,跳过登录时输入帐号和密码的界面 1、安装gdm yum install gdm 2、修改配...

  • 用户和组

    UID 和 GID 虽然我们登陆 Linux 系统时,输入的是帐号,但是其实电脑并不会直接识别帐号名称,它仅认识 ...

  • 本地脚本上传远程服务器的坑

    登陆是个坑 本地跑得好好的,远程一看登陆不了. 最后发现是帐号的问题, IP地址不同了, 系统认为异常登陆. 解决...

  • zabbix 使用自带mysql模版监控mysql

    zabbix 使用自带mysql模版监控mysql mysql mariadb root帐号可无密登陆 vim /...

  • TP5.1路由设置

    TP5.1和Tp5在路由上use的空间不同,要注意看文档,

  • 关于登陆与注册帐号

    为了关于某人,注册了简书,遇到这样的一个问题。 因为以前就听说过简书,但我不记得是否有注册过,就使用常用的...

  • 设计接口一定要传登陆成功token

    在客户端开发过程中,会遇到帐号没有登陆成功,或该帐号不存在,去用该帐号请求接口的特殊情况。而后台很多时候接口没有对...

网友评论

      本文标题:tp5帐号登陆的几点注意

      本文链接:https://www.haomeiwen.com/subject/upupaftx.html