1.解释mvc
(1)mvc即 模型model,视图view,控制器controller;是一种模型,是一种编程思想,就是把一个应用的输入、输出、数据处理分开,分解耦合。
(2)A..视图,数据采集和处理,和用户请求,不包括业务流程,smarty实现B.模型,接收数据和请求,完成相关数据处理,返回数据,’黑箱‘操作,核心,php类库实现C.控制器,任务的实现,根据传入数据调用各种组件完成任务,将结果传给视图显示,业务流程的实现。
(3)mvc的优点:使开发人员只关注某一层,很容易用新代替旧层次的实现,低依赖性,重用性,标准化,扩展性.维护性。
2.无限分类的实现原理。
A.三种:(1)递归方式:查询次数非常多,不推荐使用。(2)ajax:点谁,查子栏目,再点子栏再查子栏目。点了几次查了几次(3)血缘关系:一次性把亲戚全找到。新增加栏目的path=父ID的path-父栏目的ID。
B.查询:select id,name,pid,path,concat(path,'-',id) as bpath from shop_menu order by bpath;
3.如何设计或配置Mysql,才能达到高效使用的目的
(1)数据库设计,结构良好,允许部分冗余。 (2)最适用字段属性,尽可能字段NOTNULL,这样在查询时,不用去比较NULL值。(3)系统架构设计,表散列,海量数据散列到几个表里,集群,查写分开。(4)高效sql,提高效率。 (5)使用连接(join)来代替子查询。(6)使用联合(union)来代替手动创建的临时表。(7) 所得皆必须,只从数据库取必须的数据。(8) 必要时用不同存储引擎,如Innodb可少死锁,HEAP提查询速度。(9)使用事务、外键、索引(10)缓存技术。
4.如何进行防SQL注入
(1)过滤常见数据库操作关键字:select,insert,update,delete,and,*等,或通过系统函数:addslashes(需被过滤内容)过滤。(2)PHP配置文件Register_globals=off;//注册全局变量关闭。(3)SQL书写不要省略小引号(tab上)和单引号。(4)高数据库命名技巧,对于一些重要的字段根据程序的特点命名,取不易被猜到的(5)常用方法封装,避直接暴漏SQL 。(6)PHP安全模式Safe_mode=on;。(7)开Magic_quotes_gpc=on;自动把sql语句转换。(8)关闭错误提示信息,写到系统日志。(9)使用mysqli或pdo预处理。
6.安全的用户登录系统需注意
(1)MD5(密码+字符串)加密。(2)登录表单名不跟字段一样,免暴漏表字段。(3)表名、字段名、密码用不易被猜到的。(4)用验证码验证登陆,以防止暴力破解。(5)验证提交的数据是不是来自本网站。(6)登录后处理代码数据库部分使用预处理,做好过滤,防sql注入。
推荐教程:PHP视频教程
以上是php应该着重学哪些的详细内容。更多信息请关注PHP中文网其他相关文章!