首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

这份PHP面试题总结得很好,值得学习

Php配置文件中设置register_globals为off,关闭全局变量注册 控制错误信息,不要在浏览器上输出错误信息,将错误信息写到日志文件中。 23.PHP网站主要攻击方式有哪些?...26、 简述在MySQL数据库中MyISAM和InnoDB区别 区别于其他数据库最重要特点就是其插件式表存储引擎。切记:存储引擎是基于表不是数据库。...在使用 Ajax 时,涉及到数据传输,即将数据服务器返回到客户端,服务器端和客户端分别使用不同脚步语言来处理数据,这就需要一种通用数据格式,XML 和 json 就是最常用两种, json 比...要同时修改数据库中两个不同表时,如果它们不是一个事务的话,当第一个表修改完,可能第二个表修改过程中出现了异常没能修改,此时就只有第二个表依旧是未修改之前状态,第一个表已经被修改完毕。...当你把它们设定为一个事务时候,当第一个表修改完,第二表修改出现异常没能修改,第一个表和第二个表都要回到未修改状态,这就是所谓事务回滚。

5K20

网站404错误页面制作方法

挽回PV(pageview),同时尽量让用户对网站不安感减少。   四、告诉搜索引擎此链接失效,不再索引该网页,并向数据中心反馈将该URL表示网页索引数据库中删除。   ...  注意:   1.切记不要将404错误转向到网站主页,否则可能会导致主页在搜索引擎中消失   2.切记不要使用绝对URL(例如:http://www.yumaoseo.com/notfound.php...最后,我们对404错误页面还需要更深一层了解:   首先,404错误应工作在服务器级不是网页级。   其次,必须确保在PHP执行前服务器已经顺利地送出“404”状态码。   ...再之,如果404页面返回是200或302状态码不是404状态码。...对于普通用户,是没有很大区别,当搜索引擎得到“200”状态码时,则会认为该url是有效,便会去索引,并会将其收录到索引数据库,这样结果便是这两个不同url具有完全相同内容:自定义404错误页面的内容

2.1K10
您找到你想要的搜索结果了吗?
是的
没有找到

2018最新php笔试题及答案(持续更新)

,大小不同:GET是放在URL首部,因此大小随着浏览器而定,POST则是在报文中,只要没有具体限制,文件大小是没限制 然后,安全性不同:GET采用是明文传输,POST是放在报文内部,无法看到...使用场景角度来说,一般像用户注册登录这种信息都是私密,采用POST,针对查询等,为了快速,大多采用GET传输。...(6)应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引进行全表扫描 (7)应尽量避免在 where 子句中对字段进行表达式操作,这将导致引擎放弃使用索引进行全表扫描...常见HTTP状态码: 200 - 请求成功 301 - 资源(网页等)被永久转义到其他URL 404 - 请求资源(网页等)不存在 505 - 内部服务器错误 HTTP状态码分类: 1** - 信息...,服务器在处理请求过程 中发生了错误 git和svn区别 GIT是分布式,SVN不是 GIT把内容按元数据方式存储,SVN是按文件 GIT分支和SVN分支不同 GIT没有一个全局版本号,SVN

51010

php面试题目100及最佳答案

例如初始化数据库时候会用到,比如MySQL,MSSQL 策略模式: 针对一组算法,将每一个算法封装到具有共同接口独立类中,例如进入个人主页时,根据浏览者不同,给予不同显示与操作 注册模式:...*.Post传输数据时,不需要在URL中显示出来,Get方法要在URL中显示。...*.Post传输数据量大,可以达到2M,Get方法由于受到URL长度限制,只能传递大约1024字节. .Post顾名思义,就是为了将数据传送到服务器段,Get就是为了服务器段取得数据.Get...$users ||= ‘john’; 语法错误。 90.以下哪一个函式可以把浏览器转向到另一个页面? redir()这不是一个 PHP 函式,会引致执行错误。...redirect()这不是一个 PHP 函式,会引致执行错误。 91.PHP非静态方法可以通过静态调用吗,反之呢?

8.3K30

web安全漏洞种类

3、对进入数据特殊字符(‘ “ \ & *)进行转义处理(或编码转换) 4、不要直接拼接SQL语句,所有的查询语句建议使用数据库提供参数化查询接口,使用参数化语句不是将用户输入变量嵌入SQL...4、敏感操作应该使用POST,不是GET,以form表单形式提交,可以避免token泄露。...应对方案: 1、增强验证码机制,为防止验证码被破解,可以适当怎加验证码生成强度,例如中文图形验证码。 2、用户名或密码输入错误均提示“用户名或密码错误”,防止黑客获取到注册用户信息。...应对方案: 1、如果使用邮件验证方式找回密码,重置密码令牌需要设置为不可猜测,且加密令牌时使用通过加密方式,不是自己构造;设置重置密码会话过期时间,在重置密码时不要从请求中获取需要重置用户名。...应对方案: 1、不应从用户请求或填写内容中获取跳转目标URL,应在后端设定跳转URL。 2、对需要跳转目标URL进行验证,如果跳转URL不是所允许,则禁止跳转。

1.3K40

MySQL 百万级分页优化(Mysql千万级快速分页)

可是我们高估了mysql 智能,他不是商务数据库,事实证明定长和非定长对limit影响不大? 怪不得有人说 discuz到了100万条记录就会很慢,我相信这是真的,这个和数据库设计有关!...一张表搞定100万记录,并且10G 数据库,如何快速分页! 好了,我们测试又回到 collect表,开始测试结论是: 30万数据,用分表法可行,超过30万他速度会慢道你无法忍受!...mygod ,mysql 索引竟然对于in语句同样有效!看来网上说in无法用索引错误!...,将分页清空,这样只需要用一次数据库连接,不需要再开; $db->execute(“select id,title,url,sTime,gTime,vtype,tag from collect where...php echo $rs['url'];?> <?php echo $rs['gTime'];?

3.6K30

MySQL 百万级分页优化(Mysql千万级快速分页)

可是我们高估了mysql 智能,他不是商务数据库,事实证明定长和非定长对limit影响不大? 怪不得有人说 discuz到了100万条记录就会很慢,我相信这是真的,这个和数据库设计有关!...一张表搞定100万记录,并且10G 数据库,如何快速分页! 好了,我们测试又回到 collect表,开始测试结论是: 30万数据,用分表法可行,超过30万他速度会慢道你无法忍受!...mygod ,mysql 索引竟然对于in语句同样有效!看来网上说in无法用索引错误!...,将分页清空,这样只需要用一次数据库连接,不需要再开; $db->execute(“select id,title,url,sTime,gTime,vtype,tag from collect where...php echo $rs['url'];?> <?php echo $rs['gTime'];?

2.4K10

php+mysql动态网站开发案例课堂_用php写一个网页页面

为了高效,一般会采取分类维护多个表方式,不是把所有数据都储存在同一个表中。 MySQL 需要服务器支持。...表单获取信息 概述 这一部分我们演示如何构建一个表单,使用户填写这个表单并把内容储存到数据库。这一技术是用户注册系统和用户互动基础。 要实现这个功能,需要 HTML 和 PHP 配合完成。...PHP错误处理 分级错误信息 最后来讲一下 PHP 错误处理机制。如果你写了有错误 PHP 代码,那么运行时候系统会自动生成一些错误提示信息并且打印到屏幕上,以提醒用户修复。...在写 PHP 程序时候,我们需要这些错误提示来帮助我们改正错误,但是当产品发布时候,开发人员往往倾向于隐藏错误提示:用户收到这些信息是很让人恼火,而且,让他人知道你代码有什么漏洞总归不是一个好主意...例如,要建立一个用户数据库,为每个用户分配一个唯一 ID,则可以把数据库 ID 字段设为 AUTO INCREMENT,这样每次不用手工维护这个字段,只要新增一行,这个字段数值就增 1(默认 1

8.5K20

php基础(二)

> (2)写一个方法获取url文件类型 如$url = 'http://www.qq.com/test.php?a=......5.对缓存了解 php缓存技术详细介绍及php缓存实现代码 二、数据库知识 1.数据库基本增删查改 基本增删改查语句,关联语句,函数等过一遍 2.谈谈数据库优化方法 (1)创建表时候避免使用...(3)字符集转换:客户端或者应用程序使用字符集可能和数据库使用字符集不一致,需要在mysql运行过程中隐含转化 (4)创建索引,如果一张表很大然后符合条件值很多,那么创建索引就能带来性能提升...(8)尽量满足范式(有的情况下要用反范式)下面是三大范式区别,也要去看一下 第一范式:数据库每一列都是不可分割原子数据项,不能是集合,数组,记录等非原子数据项。...这些状态代码表示服务器在尝试处理请求时发生内部错误。这些错误可能是服务器本身错误不是请求出错 eg. 500: 请求未完成。服务器遇到不可预知情况。

1.1K20

Kali Linux渗透基础知识整理(一):信息搜集(一)

简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名详细信息数据库(如域名所有人、域名注册商)。...一般来说,DNS区域传送操作只在网络里真的有后备域名DNS服务器时才有必要执行,但许多DNS服务器却被错误地配置成只要有人发出请求,就会向对方提供一个zone数据库拷贝。...详细了解,传送门,感觉这位大神写蛮清楚,可以参考下 服务指纹识别 很多站点,可能没有自定义错误信息。因此在url上随便输入一个不存在地址,可能会返回有用信息。...Banner抓取 banner抓取是应用程序指纹识别不是操作系统指纹识别。Banner信息并不是操作系统本身行为,是由应用程序自动返回,比如apathe、exchange。...简单用法 wafw00f URL 图中可以看到该网站处于Waf保护状态 搜索引擎 Google搜索技术融合了用于执行Google详细搜索高级搜索技术。

1.7K40

Mysql详细学习笔记

: 判断是否执行正常或者遍历数据 第八步: 关闭数据库 案例:用户注册 一、 判断重复密码 二、 准备好写入数据 **可见数据有:** **不可见数据有:** 三、连接数据库、判断错误、选择库和字符集...为大家举一些例子: 要注册一个用户,是将表单数据POST发送给PHP写入数据库 购买一个商品,是将商品信息和用户信息通过PHP写入到数据库 在线付费,是将用户充值信息通过PHP写入数据库 修改头像上传头像地址得到后...网页、移动端、QQ微信公众号都在使用PHP连接数据库进行操作。 为了更方便大家学习,我们将连接数据库知识进行了步骤化。你会发现,你很轻松就学会了PHP连接数据库知识。...注意: *PHP7开始默认不再支持mysql扩展,即不再支持mysql_系列函数。请使用mysqli连接数据库。 mysqli即支持php5也支持php7。...按照人思维人们一般喜欢看最新注册一批用户。ID自增,也就是ID在越大,就是时间注册越新用户。因此我们在写SQL语句时写上是order by id desc。

4.6K40

web渗透思路及总结

八、会员注册、修改、删除、评论等一切需要操作数据库地方记得加单引号之类查看是否存在insert、update等类型注入。...十、通常有下载功能站我们可以尝试修改下URL文件名,看能否下载站点敏感文件,如数据库配置文件等,数据库不可外连情况下可以尝试数据库密码登陆后台,也可下载上传、登陆验证等文件进行代码审计。...搜索方法; Whois查询,通过Whois数据库查询可以得到以下信息: 1,注册机构:显示相关注册信息和相关Whois服务器; 2,机构本身:显示与某个特定机构相关所有信息;...原因是: 1,他们都是可选项,不是所有主机都可以实现; 2,如果你所发送包中对某个选项进行了设置,只要目标支持,那么目标主机就 回此选项; 3,可以在包中设置所有的选项进行测试。...rid总是500,GUEST用户rid总是501;新建立帐户rid1000 开始。

2.5K70

08 . Nginx状态码

Error # 1.web脚本错误,如php语法错误,lua语法错误等. # 2.访问量大时候,由于系统资源限制,不能打开过多文件...2.nginx配置文件错误 这里不是指语法错误,nginx如果配置文件有语法错误,启动时候就会提示。...有可能是数据库问题我在nginx日志php日志都没有发现什么问题, 最后发现数据库访问不了,修正后问题解决。 502 # 502 Bad Geteway。...Nginx 502错误原因⽐较多,主要是因为在代理模式下后端服务器出现问题引起。这些错误⼀般都不是Nginx本身问题,⼀定要从后端找原因。...php-fpm已经执行,但是由于某种原因没有执行完毕,最终导致php-fpm进程终止,错误原因比较多,一般不是Nginx本身,后端找原因,比如PHP挂掉; 对于PHP,造成502原因常见就是脚本执行时间超过了

1.1K41

Laravel Validation 表单验证(二、验证表单请求)

, ]; 在 PHP 文件中指定自定义信息 在大多数情况下,您可能会在文件中指定自定义信息,不是直接将它们传递给 Validator 。...日期值将传递到 PHP 函数 strtotime : 'start_date' => 'required|date|after:tomorrow' 您可以指定另一个要与日期进行比较字段,不是传递要由...当验证某个字段时候,你应该 只使用 date 或者 date_format ,不是同时使用。此验证规则支持 PHP 所有的 DateTime 类。...您可以传递整个模型实例,不是将模型实例主键值 传递给 ignore 方法。...消息应该被放到数组第一位, 不是在只用于存放属性指定错误信息 custom 数组内: "foo" => "Your input was invalid!"

29.1K10

PHP经典面试题目汇总(上篇)

、GET、PUT、DELETE,与其比不可少URL全称是资源描述符,我们可以这样理解:url描述了一个网络上资源,post、get、put、delegate就是对这个资源进行增、删、改、查操作!...3.1表单中get和post提交方式区别 get是把参数数据队列加到提交表单action属性所指url中,值和表单内各个字段一一对应,url中可以看到;post是通过HTTPPOST机制,将表单内各个字段与其内容防止在...,var_dump和print_r是函数 * echo 输出一个或多个字符串,中间以逗号隔开,没有返回值是语言结构不是真正函数,因此不能作为表达式一部分使用 * print也是php一个关键字,...,请求包含语法错误或者无法完成请求 5** 服务器错误,服务器在处理请求过程 中发生了错误 8、什么是魔术引号 魔术引号是一个将自动将进入PHP脚本数据进行转义过程,最好在编码时不要转义而在运行时根据需要转义...是致命include不是 require_once表示了只包含一次,避免了重复包含 15、谈谈mvc认识 由模型、视图、控制器完成应用程序,由模型发出要实现功能到控制器,控制器接收组织功能传递给视图

3.4K70

程序员面试必备PHP基础面试题 – 第十七天

使用连接(join)来代替子查询 使用联合(union)来代替手动创建临时表 4、所得皆必须,只数据库取必须数据。...2、在PHP配置文件中 Register_globals=off;设置为关闭状态 //作用将注册全局变量关闭。...因此开启:magic_quotes_gpc=on; 8、控制错误信息 关闭错误提示信息,将错误信息写到系统日志。 9、使用mysqli或pdo预处理。 四、数据库索引有几类,分别是什么?...什么时候该用索引 普通索引、主键索引、唯一索引 并非所有的数据库都以相同方式使用索引,作为通用规则,只有当经常查询列中数据时才需要在表上创建索引。 五、数组中下标最好是什么类型,为什么?...八、你对Memcach理解,优点有哪些? Memcache是一种缓存技术,在一定时间内将动态网页经过解析之后保存到文件,下次访问时动态网页就直接调用这个文件,不必在重新访问数据库

1.2K10
领券