php面试题

 

session和cookie的区别

   (1)存储位置:Cookie存储在客户端浏览器中,相对不安全;Session内容所在文件存储在服务器中,一般在根目录下的tmp文件夹中,相对更安全。

        (2)数量和大小限制:Cookie存储的数据在不同的浏览器会有不同的限制,一般在同一个域名下,Cookie变量数量控制在20个以内,每个cookie值的大小控制在4kb以内。session值没有大小和数量限制,但如果数量过多,会增大服务器的压力。

        (3)内容区别:cookie保存的内容是字符串,而服务器中的session保存的数据是对象。

        (4)路径区别:session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到;而cookie中如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不到的。

php魔术方法

         __construct():构造函数,类会在每次创建新对象时先调用此方法

   __destruct():析构函数,会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行

   __call():在对象中调用一个不可访问方法时调用此方法,

  __callStatic():调用一个不存在的静态方法是调用

   __get():读取不可访问属性的值时, __set():在给不可访问属性赋值时, __isset():当对不可访问属性调用 , __unset():当对不可访问属性调用,

   __sleep():序列化类时优先调用, __wakeup():反序列化类时优先调用, __toString():用于一个类被当成字符串时应怎样回应,

  __invoke():当尝试以调用函数的方式调用一个对象, __set_state():调用 var_export() 导出类时, __clone() :当对象克隆的时候自动加载此方法和、__debugInfo() :执行var_dump()方法的时候会调用

php __autoload加载原理

        1 类名,找出类文件,然后require_one。缺点就是将类名和文件路径强制做了约定,当修改文件结构的时候,就势必要修改类名。

      2 直接映射法

什么是 CSRF 攻击?XSS 攻击?如何防范?

  CSRF:跨站请求伪造,可以通过通过判断来源和加 Token 的方式来防范。

  XSS:跨站脚本攻击,可以通过对内容转义和过滤来防范,还有 CSP

http 状态码及其含意

  • 200 请求已成功,请求所希望的响应头或数据体将随此响应返回。
  • 301 被请求的资源已永久移动到新位置。
  • 302 请求的资源现在临时从不同的 URI 响应请求。
  • 400 1、语义有误,当前请求无法被服务器理解。2、请求参数有误。
  • 401 当前请求需要用户验证。
  • 403 服务器已经理解请求,但是拒绝执行它。
  • 404 请求失败,请求所希望得到的资源未被在服务器上发现。
  • 500 服务器遇到了一个未曾预料的状况,无法完成对请求的处理,会在程序码出错时出现。
  • 501 服务器不支持当前请求所需要的某个功能。无法识别请求的方法。
  • 502 作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
  • 503 由于临时的服务器维护或者过载,服务器当前无法处理请求。

 

posted @ 2019-08-05 15:21  CandyChen  阅读(107)  评论(0)    收藏  举报