发布于 2014-07-08 09:30:44 | 198 次阅读 | 评论: 0 | 来源: 网友投递
PHP开源脚本语言
PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。PHP的文件后缀名为php。
有以下php语句:function fun( $a, &$b ){…},请问”&“号的意义是什么?
假如我们定义了一个类A:
class A{
public $id;
public function fun($p){….}
}
请编写函数fun,使它修改成员$id的值为$p。
假设$str=’abc’,请问字符串 “123{$str}”和 ’123{$str}’ 有什么不一样?
如果语句<?=’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注入的攻击原理和防御措施。
请说说网页遮掩层的实现原理