中广视听有限公司PHP笔试题

匿名网友 匿名网友 发布于: 2015-08-30 00:00:00
阅读 165 收藏 0 点赞 0 评论 0

PHP基础知识部分:

  1. 有以下php语句:function fun( $a, &$b ){…},请问”&“号的意义是什么?
  2. 假如我们定义了一个类A:

    class A{

    public $id;

    public function fun($p){….}

    }

    请编写函数fun,使它修改成员$id的值为$p

  3. 假设$str=’abc’,请问字符串 “123{$str}”和 ‘123{$str}’ 有什么不一样?
  4. 如果语句<?=’c’?>执行出错,会是什么原因引起的(提示:short tag)?

编程部分:

假如有以下数组:

    $Data = array( ‘A’ => 1, ‘B’=>2, ‘F’=>3, ‘G’=>4,…)

    $Index = array(‘A’=>’X1’, ‘B’=>’X2’, ‘C’=>’X3’, ‘D’=>’X4’, …, ‘Z’=>’X26’)

    其中,$Data是原始数组,$Index是$Data的键名对应表,即我们希望把$Data的键名换成它在$Index中对应的值,得到一个新的数组:

    $Data2 = array( ‘X1’ => 1, ‘X2’=>2, ‘X6’=>3, ‘X7’=>4,…)

    现在的需求是,已知$Index表(常量),请编写一个函数,实现把输入的数组$Data转换成$Data2(假设$Data的元素个数未知,而且不会出现键名不在$Index中的情况)

    该函数的定义如下:function transIndex($Data){

        

}

简答部分:

防注入检查。假设我们有一个php文件,是根据用户表单提交数据来查询数据库的,即:有以下代码:

$sql = “select * from table1 where username = ‘{$_POST[‘username’]'”;

mysql_query($sql,$link);

这样的语句其实是有安全隐患的,因为用户如果提交了包含单引号’的内容,上面的sql语句的select部分就会执行结束,且把引号后面的内容当作新的语句来执行,如果引号后面包含危险的sql指令,后果是很严重的。这就是sql注入的问题。

请讲讲你对防止sql注入的理解和防御措施。

前端部分:

请说说网页遮掩层的实现原理

评论列表
文章目录