当前位置:网站首页>程序员面试必备PHP基础面试题 – 第二十一天
程序员面试必备PHP基础面试题 – 第二十一天
2022-08-03 14:42:00 【PHP学习网】
写在前面,今天是PHP基础面试题的最后一天,接下来我将整理中高级的面试题,这部分因为之前没准备好,而且工作比较忙,有可能做不到一天一更,还望大家担待。
一、解释一下PHP的类中:protect,public,private,interface,abstract,final,static的含义
Protected:保护的 在本类和子类中可以访问 在外部不可以访问
Public:公有的 在本类 子类 外部都可以访问
Private:私有的 在本类中可以访问 子类 外部都不可以访问
Interface: 声明一个接口时的关键字
Abstract:声明一个抽象类和抽象方法时的关键字
Final:使用final声明的方法是最终的,子类无法继承和重载
Static:定义静态方法和静态属性的关键字
二、解释:左连接,右连接,内连接,索引
內连接仅选出两张表中互相匹配的记录.因此,这会导致有时我们需要的记录没有包含进来。内部连接是两个表中都必须有连接字段的对应值的记录,数据才能检索出来。
左连接和右连接都是外部连接,也就是区别于内部连接,它对不满足连接条件的行并不是象内部连接一样将数据完全过滤掉,而是保留一部分数据,行数不会减少。
左连接是只要左边表中有记录,数据就能检索出来,而右边有的记录必要在左边表中有的记录才能被检索出来
右连接是只要右边表中有记录,数据就能检索出来;
全连接则会回返回两个表中的所有记录
三、如何进行防SQL注入
1、过滤掉一些常见的数据库操作关键字:select,insert,update,delete,and,*等或者通过系统函数:addslashes(需要被过滤的内容)来进行过滤。
2、在PHP配置文件中Register_globals=off;设置为关闭状态 //作用将注册全局变量关闭。比如:接收POST表单的值使用_POST['user'],如果将register_globals=on;直接使用user可以接收表单的值。
3、SQL语句书写的时候尽量不要省略小引号(tab键上面那个)和单引号
4、提高数据库命名技巧,对于一些重要的字段根据程序的特点命名,取不易被猜到的
5、对于常用的方法加以封装,避免直接暴漏SQL语句
6、开启PHP安全模式Safe_mode=on;
7、打开magic_quotes_gpc来防止SQL注入
Magic_quotes_gpc=off;默认是关闭的,它打开后将自动把用户提交的sql语句的查询进行转换,把'转为',这对防止sql注入有重大作用。
因此开启:magic_quotes_gpc=on;
8、控制错误信息,关闭错误提示信息,将错误信息写到系统日志。
9、使用mysqli或pdo预处理。
边栏推荐
- 如何使用matlab实现分段函数「建议收藏」
- R7 6800H+RTX3050+120Hz 2.8K OLED screen, Intrepid Pro15 2022 pre-sale
- 个人秋招记录——欢迎交流
- 未来无法预料
- 大势,又一关乎中美竞争的关键行业,走到关键时刻了
- [The Beauty of Software Engineering - Column Notes] 36 | What exactly do DevOps engineers do?
- servlet与jsp区别_servlet和class的区别
- PAT乙级-B1010 一元多项式求导(25)
- 正则表达式入门二(普通字符)
- PostgreSQL V14中更好的SQL函数
猜你喜欢

技术分享 | 接口自动化测试如何搞定 json 响应断言?

雷克萨斯lm的安全性如何,通过两个角度来聊这个话题

【软件工程之美 - 专栏笔记】36 | DevOps工程师到底要做什么事情?

【R语言科研绘图】--- 柱状图

中国菜刀原理与实践

苹果开发「AI 建筑师」GAUDI:根据文本生成超逼真 3D 场景!

PostgreSQL V14中更好的SQL函数

大势,又一关乎中美竞争的关键行业,走到关键时刻了

Currency ATM: Solana Wallet Has Unknown Security Vulnerability, A Large Number Of Users' Digital Assets Are Stolen

R7 6800H+RTX3050+120Hz 2.8K OLED屏,无畏Pro15 2022开启预售
随机推荐
使用Typora+EasyBlogImageForTypora写博客,无图床快速上传图片
淘特:引擎还是包袱?
如何使用matlab实现分段函数「建议收藏」
Detailed explanation of cloud hard disk EVS and how to use and avoid pits [HUAWEI CLOUD is simple and far]
我现在推荐用mamba替代conda
PAT乙级-B1018 锤子剪刀布(20)
Lecture 2 Software Life Cycle
GMapping principle analysis/easy to understand
PAT乙级-B1015 德才论(25)
Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行(含系列目录)。
Tao Te: Engine or baggage?
可视化数据库设计软件有哪些_数据库可视化编程
PAT乙级-B1011 A+B 和 C(15)
你没见过的《老友记》镜头,AI给补出来了|ECCV 2022
你把 浏览器滚动事件 玩明白
网络中的交换机和路由器
输出一个整数的二进制形式
LeetCode169:多数元素
varchar2 and varchar2(char)_datetime data types
PAT乙级-B1008 数组元素循环右移问题(20)