当前位置:网站首页>程序员面试必备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预处理。
边栏推荐
- How to connect a VMware virtual machine to the network "recommended collection"
- 自己悦表存心
- 【重构map】【重构filter】【重构Some】【重构reduce方法】【重构flat函数】
- PAT乙级-B1018 锤子剪刀布(20)
- 利用华为云ECS服务器搭建安防视频监控平台【华为云至简致远】
- 彻底搞懂云桌面配置及实践踩坑【华为云至简致远】
- 面试官都震惊,你这“网络基础”可以啊
- leetcode 448. Find All Numbers Disappeared in an Array 找到所有数组中消失的数字(简单)
- 【报错】ImportError: libpng16-57e5e0a0.so.16.37.0: cannot open shared object file: No such file or direc
- APT组织最喜欢的工具 Cobalt Strike (CS) 实战
猜你喜欢
SQL 不新增表 把一张表定义成两张
PostgreSQL V14中更好的SQL函数
利用华为云ECS服务器搭建安防视频监控平台【华为云至简致远】
在北极都可以穿短袖了,温度飙升至32.5℃
Huffman tree
【MATLAB项目实战】基于CNN_SVM的图像花卉识别
With 1000 lines of code statistics after the xi 'an housing prices, I have a startling discovery...
System learning Shell regular expressions
如何把MapGIS的区文件转为ArcGIS的SHAPE面文件
Lecture 2 Software Life Cycle
随机推荐
20220801使用安信可的ESP-01S模块实现WIFI的UART传输功能
【报错】ImportError: libpng16-57e5e0a0.so.16.37.0: cannot open shared object file: No such file or direc
php类的析构函数:__destruct
【MATLAB项目实战】基于CNN_SVM的图像花卉识别
MATLAB中writetimetable函数用法
蚁剑加密 WebShell 过杀软
【R语言科研绘图】--- 柱状图
varchar2和varchar2(char)_datetime数据类型
HDU 1406 (完数)
SwiftUI SQLite教程之了解如何在 SwiftUI 中使用 SQLite 数据库并执行 CRUD 操作(教程含源码)
How to connect a VMware virtual machine to the network "recommended collection"
UE4 解决C盘缓存问题
使用Jetty服务器和Axis2框架技术发布Webservice接口
System learning Shell regular expressions
redis的使用方法
Clickhouse填坑记3:Left Join改Right Join导致统计结果错误
WMS软件国内主要供应商分析
atrace和systrace的基本使用方法
如何把MapGIS的区文件转为ArcGIS的SHAPE面文件
阿里大牛最新总结分享的高并发编程核心笔记(终极版),高并发系统架构场景一应俱全