使用json_encode编码中文返回null的解决方案
在 php 5.4 之后 ,默认的转码为 utf-8 .同时 ,json_encode 要求字符串必须是utf-8的.
mysql防注入函数
注意在PHP5.3之前,magic_quotes_gpc是默认开启的
1.addslashes(): 函数返回在预定义字符之前添加反斜杠的字符串。
预定义的字符有: 单引号(') 双引号(") 反斜杠(\) NULL
2.mysql_real_escape_string(): 函数转义 SQL 语句中使用的字符串中的特殊字符。
下列字符受影响: \x00 \n \r \ ' " \x1a
xss(跨站脚本攻击)怎么防止
htmlentities() htmlspecialchars()
CSRF是什么,怎么防止
CSRF(Cross-site request forgery),中文名称:跨站请求伪造。攻击者盗用你的身份,以你的名义发送恶意请求
token验证方法
PHP 不使用第三个变量实现交换两个变量的值
list($b,$a)=array($a,$b);
安全对一套程序来说至关重要,请说说在开发中应该注意哪些安全机制?
①防远程提交;②防SQL注入,对特殊代码进行过滤;③防止注册机灌水,使用验证码;
数组中下标最好是什么类型的,为什么?
数组的下标最好是数字类型的,数字类型的处理速度快。
++i和i++哪一个效率高,为什么?
++i效率比i++的效率更高,因为++i少了一个返回i的过程。
请说明 PHP 中传值与传引用的区别。什么时候传值什么时候传引用?
按值传递:函数范围内对值的任何改变在函数外部都会被忽略
按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改
优缺点:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。按引用传递则不需要复制值,对于性能提高很有好处。
在PHP中error_reporting这个函数有什么作用?
设置 PHP的报错级别并返回当前级别。
抢购、秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个:
1 高并发对数据库产生的压力
2 竞争状态下如何解决库存的正确减少("超卖"问题)
在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量__$_SERVER['PHP_SELF']__中;而链接到当前页面的URL记录在预定义变量__$_SERVER['HTTP_REFERER']__中
执行程序段<?php echo 8%(-2) ?>将输出__0__。
数组函数 arsort 的作用是__对数组进行逆向排序并保持索引关系__;语句 error_reporting(2047)的作用是__报告所有错误和警告__。
http get和post的区别?
1、get用于获取数据,post用于提交数据
2、get提交参数追加在url后面,post参数可以通过http header body提交
3、get传值一般在2KB以内,post传值大小可以在php.ini中max_post_size进行设置
4、get提交可以被浏览器缓存,post不会被浏览器缓存
HTTPS和HTTP的区别主要如下:
1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。2、http是信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
如何不使用submit按钮来提交表单
1)ajax提交
2)可以用超链接来提交
3)js 方法提交$('form').submit();
2.ajax 中如何执行跨域访问?同子域的情况如何处理?不同子域的情况如何处理?
①jsonp,非官方协议,简单实用
通过JavaScript的callback方式调用,jQuery封装了jsonp方式的请求。
JSONP则是通过在文档中嵌入一个<script>标记来从另一个域中返回数据。例如在页面中添加一个如下的<script>标记:
<script src="http://localhost:2701/home/somejsonp?callback=jsonpcallback"/>
该<script>标记会发送一个GET请求。在数据(数据可以RSA加密)返回到客户端后,jsonpcallback()函数将会被调用。当然,这种方法拥有一个显著的缺点,那就是只支持GET操作
function jsonpcallback(json) { console.log(json) }
②服务器响应头
header("Access-Control-Allow-Origin:*");
11、Print、echo、print_r有什么区别?
① echo和print都可以做输出,不同的是,echo不是函数,没有返回值,而print是一个函数有返回值,所以相对而言如果只是输出echo会更快,而print_r通常用于打印变量的相关信息,通常在调试中使用。
② print 是打印字符串
③ print_r 则是打印复合类型 如数组 对象
13.请介绍一下laravel框架?
答: laravel框架的设计思想比较先进,非常适合应用各种开发模式,作为一个框架,它为你准备好了一切,composer是php的未来,没有composer,php肯定要走向没落
laravel框架最大的特点和优秀之处就是集合了php比较新的特点,以及各种各样的设计模式,Ioc模式,依赖注入等
14.laravel有那些特点?
回答一:
1.强大的rest router:用简单的回调函数就可以调用,快速绑定controller和router
2.artisan:命令行工具,很多手动的工作都自动化
3.可继承的模板,简化view的开发和管理
4.blade模板:渲染速度更快
5.ORM操作数据库
6.migration:管理数据库和版本控制
7.测试功能也很强大
8.composer也是亮点
2.HTTP/1.0 中,状态码 200 301 304 403 404 500的含义
200 - 服务器成功返回网页 301(永久移动)请求的网页已永久移动到新位置。 304(未修改)自从上次请求后,请求的网页未修改过 403(禁止)服务器拒绝请求 404 - 请求的网页不存在 500 服务器内部错误 503 - 服务器超时
session与cookie的区别?
1、Cookie只能保存字符串,Session可以存任意数据类型
2、Cookie存储在客户端浏览器中,Session存储在服务器上
3、session会在一定时间内保存在服务器上。当访问增多,影响服务器的性能。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
WebSocket Socket HTTP
socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议
WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端
HTTP协议是建立在TCP协议之上的一种应用。HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。
Include require include_once require_once 的区别.
require 失败时会产生一个致命级别错误,并停止程序运行。
include 失败时只产生一个警告级别错误,程序继续运行。
include_once/require_once和include/require 处理错误方式一样,
唯一区别在于当所包含的文件代码已经存在时候,不在包含。
编写一个自定义函数提取这段路径的的后缀名。“Www/hello/test.php.html?a=3&b=4”
function geturltype($url) { $info = parse_url($url); return end(explode('.', $info['path'])); }
6. 写几个魔术方法并说明作用?
1。__construct() 实例化对象时被调用,当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用2。__destruct() 当删除一个对象或对象操作终止时被调用。
3。__call() 对象调用某个方法,若方法存在,则直接调用;若不存在,则会去调用__call函数。
4。__get() 读取一个对象的属性时,若属性存在,则直接返回属性值;若不存在,则会调用__get函数。
5。__set() 设置一个对象的属性时,若属性存在,则直接赋值;若不存在,则会调用__set函数。
6。__toString() 打印一个对象的时被调用。如echo $obj;或print $obj;
7。__clone() 克隆对象时被调用。如:$t=new Test();$t1=clone $t;
8。__sleep() serialize之前被调用。若对象比较大,想删减一点东东再序列化,可考虑一下此函数。
9。__wakeup() unserialize时被调用,做些对象的初始化工作。
10。__isset() 检测一个对象的属性是否存在时被调用。如:isset($c->name)。
11。__unset() unset一个对象的属性时被调用。如:unset($c->name)。
12。__set_state() 调用var_export时,被调用。用__set_state的返回值做为var_export的返回值。
13。__autoload() 实例化一个对象时,如果对应的类不存在,则该方法被调用。
相关推荐
### PHP面试常见问题与解答 #### 1. PHP预定义变量$_SERVER的应用 - **$_SERVER['PHP_SELF']**: 此变量存储当前脚本的文件名(不包括路径和查询字符串)。例如,如果你的脚本位于`/home/user/www/index.php`,并且...
《PHP程序员面试宝典 笔试 (PHP版)》是一个为准备PHP程序员面试者精心编纂的资源包,其中包含了丰富的PHP技术知识和面试常见问题。这个压缩包中的核心文件是"PHP程序员面试宝典 笔试 (PHP版).pdf",它很可能是详细...
读书笔记:PHP面试常见知识汇总php数据库网络算法等等
根据给定的文件信息,以下是对“PHP新浪面试题”的知识点进行详细解析:...通过以上知识点的梳理,可以了解到 PHP 开发过程中的一些常见问题及其解决方案。这些知识不仅适用于面试准备,也是日常开发工作中必备的基础。
#### 六、其他常见问题 **6.1 自动加载机制** 自动加载机制允许在需要使用某个类时自动加载其对应的文件,无需手动使用`require`或`include`语句。可以使用以下两种方法之一来实现: - 实现`__autoload()`函数...
以下是从标题“PHP程序员招聘中的常见面试题”及部分描述中提炼出的关键知识点: ### 1. PHP连接数据库:`mysql_pconnect`与`mysql_connect` #### 知识点解析 - **`mysql_connect`**:这是一个建立到MySQL服务器...
### PHP面试常见简答题总结 #### Linux 命令及操作 **1. 尽可能多地写出你所熟悉的Linux命令** - **mkdir**: 用于创建一个或多个目录。 - `mkdir mydir`: 创建名为`mydir`的新目录。 - `mkdir -p mydir/subdir`...
这份"考试类精品--年php面试常见考点和答案.zip"压缩包包含了历年PHP面试中的一些常见问题及其解答,旨在帮助求职者充分准备,提升通过面试的成功率。下面将对这些考点进行详细阐述: 1. **基础语法** - PHP的变量...
【标题】"新浪PHP面试题"所涉及到的知识点主要涵盖了PHP编程语言在实际应用和面试中的常见问题。作为中国知名互联网公司新浪的面试题目,这些题目反映了新浪对PHP开发人员的技术要求和期望。 【描述】虽然描述部分...
《传智PHP面试宝典》是一本专门为PHP开发者准备的面试指南,旨在帮助读者全面掌握PHP领域的核心知识,提升在面试中...通过深入学习和实践,你将能够更好地应对PHP面试中的各种挑战,展现你的技术实力和解决问题的能力。
以上都是PHP面试中常见的知识点,通过深入理解和熟练掌握这些内容,可以为面试者提供坚实的基础。同时,实际项目经验和解决问题的能力也是面试官关注的重点。对于提供的文档列表,如"面试题4.doc、面试题3.doc、笔试...
以下是一些常见的PHP面试题及其解答: 1. PHP获取前一天时间的函数:可以使用`strtotime`结合`date`函数,如`date("Y-m-d H:i:s", strtotime("-1 day"))`,这将返回格式为"2006-5-10 22:21:21"的前一天时间。 2. `...
这份"php面试题及答案大全"提供了丰富的资源,帮助准备PHP面试的候选人强化自己的知识体系。本文将深入探讨这些面试题和答案所涵盖的重要PHP知识点。 首先,PHP是一种广泛用于Web开发的服务器端脚本语言,它的全称...
让我们深入探讨一下这个主题,了解一些常见的PHP面试知识点。 1. **PHP基础** - PHP是什么?解释其全称(PHP:Hypertext Preprocessor)。 - PHP的特点和用途。 - PHP与HTML的区别。 - PHP脚本的执行流程。 - ...
在PHP面试中,了解基础语法是至关重要的。PHP是一种广泛应用于Web开发的服务器端脚本语言,其基础包括变量、数据类型、运算符、控制结构(如if-else、switch-case)、循环(for、while等)、函数以及数组等。深入...
本文总结了PHP面试中的常见题目,涵盖了优先级、static 变量、类型转换、count 函数、foreach 循环、reference 变量、浮点数概念、ini_set 函数、isset 函数、逻辑判断和赋值操作等多方面的知识点。 1. 优先级:PHP...
### PHP经典面试题解析 #### 题目一:时间格式化 ```php <?php // 输出当前时间的一天前的时间 echo date("Y:m:d H:i:s", strtotime("-1 day")); ?> ``` **解析:** 1. **函数说明**: - `date()`:用于格式化...
### DBA面试常见知识点解析 #### 一、SQL调优类 **1. 列举几种表连接方式** - **Hash Join**: 当两个表的数据量都比较大时,Oracle 使用哈希算法来创建一个哈希表,然后通过查找哈希表来进行连接。 - **Merge ...