Meetrue

left join、right join、inner join的区别(招聘感想)

最近在招聘phper 当我问到 左联右联的时候居然三年四年经验的开发跟我说不知道。

跟我要的价格我就不说了。

鉴于此!我希望能够在未来有人面试需要这个的时候,能够看下你该掌握最基本的知识!

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接or内连接) 只返回两个表中联结字段相等的行

Read More

PHP multipart/form-data 远程DOS漏洞

0x00 摘要


PHP解析multipart/form-datahttp请求的body part请求头时,重复拷贝字符串导致DOS。远程攻击者通过发送恶意构造的multipart/form-data请求,导致服务器CPU资源被耗尽,从而远程DOS服务器。

影响范围:

Read More

两种增量更新方案

在邮件/日历/SNS等客户端里,客户端数据要不断与服务端进行数据同步,在同步过程中,只拉取有修改的数据,称为增量更新,增量更新方案一般有两种,一是对比,二是日志。
对比
对比就是客户端请求服务端所有关键数据,跟本地已有的数据进行对比,筛选出增删改的数据进行更新。
用对比方法的好处是服务端什么都不用做,坏处是客户端逻辑复杂,耗网络流量。在这种方案里,数据的新增和删除很容易判断,根据客户端数据的id列表和服务端数据的id列表进行对比就行,若要判断哪个数据有修改则比较麻烦,需要取回数据进行对比,如果从服务端拉回所有对所有数据进行对比会很耗网络流量,有一个优化方式,就是对每个数据的修改进行标记。

Read More

基于角色的访问控制RBAC

说到权限,大家就很头疼,怎么样能灵活把控好一个用户的权限,有些同学会在用户表中加字段或者是在角色表中加相应的权限字段,这样会有一个问题,做起权限来会感觉特别的蹩脚,而且很不灵活,每增加一种权限就要在数据库中增加一个字段,很不利于项目的迭代开发

那么我们就需要一种非常灵活的设计模式RBAC,即基于角色的访问控制;



首先,我们的需求是判断某一个用户对当前操作的控制器或控制器的方法是否有权限访问,如果多个用户同时拥有同样的权限,那我们就需要给这些用户指定同一个用户角色,然后只需要通过角色来对操作的访问进行权限控制,

那我们表结构需要这样来设计,这个很重要,如下:

第一张数据表(用户表): Read More