Big Bug Ban

兴趣 践行 创新

一段代码说优化[php]

 

这是原始代码

  1. <?
  2.        echo “Hello “.$_GET[‘name’].“!”;
  3. ?> 

这段代码是大体没有问题的,但是存在一些细节

1.       开头使用<?    没有使用<?php  不规范如果php.ini里面没有开启的话  此段代码将无法执行

2.       $_GET[‘name’]没有做前置判断是否存在。如果url里面没有这个参数。用户进来很有可能看到报警信息,不友好

3.       “(双引号)和'(单引号)的区别是单引号不会对里面的内容进行匹配转义。

比如

  1. $a=‘123’;
  2. echo ‘a$a’;

会输出a$a而非a123。

在上面的代码中不需要进行这种操作,所以用'(单引号)更好,解释器不再检测变量替换,速度更快

4.        这段代码的目的是打印出字符串。字符串中间的连接符可以改为,(逗号)   让echo顺序打印,不再执行字符串的连接操作

5.        输出没有转义,存在跨站漏洞,忘了,呵呵。 感谢老大指正~(@见素

最后的代码如下

  1. <?php
  2.      if(isset($_GET[‘name’])) echo Hello ,htmlspecialchars($_GET[‘name’]),!;
  3. ?> 

Written by princehaku

10月 29th, 2011 at 4:50 下午

Posted in php

Tagged with ,

with 2 comments

2 Responses to '一段代码说优化[php]'

Subscribe to comments with RSS or TrackBack to '一段代码说优化[php]'.

  1. 第一次知道可以用逗号,学习了……那么逗号和点号的区别和优缺点有哪些?像是$_GET[‘name’]中用单引号好还是双引号好还是都无所谓呢?
    BTW,建议还是把博客首页文章做个省略吧,滑条拖起很漫长的……

    panda

    30 10月 11 at 9:24 下午

  2. 本来文章没那么多的.. 恩..
    还是改回去.

    princehaku

    31 10月 11 at 9:08 上午

Leave a Reply