增加这三行php代码的安全性能和兼容性

所属分类: 软件教程 / 编程开发 阅读数: 1780
收藏 0 赞 0 分享
  今天在sitepoint上看到一篇文章,其中有一段是介绍如何改进以下的这行php代码。这段代码经常被他们用来测试应聘者。
  CODE:
  <?
  echo("<p>Search results for query: " .$_GET['query'] . ".</p>");
  ?>
  我觉得这段代码非常适合用来测试一个php开发人员是否合格。因为这段代码并没有要求太多记忆上的东西(例如函数的记忆),但是对安全,性能,兼容性上都做了考察。
  大家也想想看如何改进代码。我在后面给出修改后的代码。
  CODE:
  <?php
  if (isset($_GET['query']))
  {
  echo '<p>Search results for query: ',
  htmlspecialchars($_GET['query'], ENT_QUOTES), '.</p>';
  }
  ?>
  改进的地方有 :
  把php短标签(<?)换成了长标签(<?php),因为并非所有php环境都支持短标签
  增加判断该全局变量是否存在,防止在某些环境下出现notice错误,而且在当前的例子里如果query无则没必要输出
  把echo的”(”去掉,echo不是一个函数,没必要使用“(”
  把字符串两边的双引号换成了单引号,提高了性能。因为双引号里的内容会被尝试进行变量和转义字符的解析。
  对query这个get变量进行html过滤。防止输出html,这可能会带来包括xss在内的一些危险
  echo后面的字符串之间的间隔使用逗号而不是句号。因为句号之间的字符串会先被连接起来然后再输出,而,号只是按顺序输出。在这个例子里显然不需要先连接字符串。(这一点我平时倒没太注意)
更多精彩内容其他人还在看

如何利用power designer建立业务流程模型?Power Designer创建业务流程模型的教程

如何利用power designer建立业务流程模型?今天这篇教程就讲述了Power Designer创建业务流程模型的具体流程介绍。感兴趣的朋友不妨阅读下文内容,参考一下吧
收藏 0 赞 0 分享

如何使用power designer建立UML组件图?power designer创建UML组件图的教程

如何使用power designer建立UML组件图?下文中详细的介绍了Power Designer创建UML组件图的具体操作方法,感兴趣的朋友不妨阅读下文内容,参考一下吧
收藏 0 赞 0 分享

如何使用powerdesigner建立技术基础设施图?创建技术基础设施图的方法介绍

如何使用powerdesigner建立技术基础设施图?今日在此篇教程中就带来了Power Designer创建技术基础设施图的详细操作步骤,感兴趣的朋友不妨阅读下文内容,参考一下吧
收藏 0 赞 0 分享

anaconda3安装教程图文详解

这篇文章主要介绍了anaconda3安装教程,本文以Anaconda3-5.3.1为例,图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧
收藏 0 赞 0 分享

Eclipse怎么使用post方法实现Web Service?

Eclipse怎么使用post实现Web Service?java中想要使用外部资源,想要使用HttpClient实现post请求接口实现实现Web Service,该怎么操作呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

SQL数据库恢复工具 SysTools SQL Recovery 9 安装授权激活教程

SysTools SQL Recovery是一款简单、高效、实用的sql数据库恢复和损坏修复工具,可以恢复已删除的SQL表数据,本次主要为大家带来了SysTools SQL Recovery 9 安装授权激活教程,需要的朋友可以参考下
收藏 0 赞 0 分享

scratch3.0怎么创建飞舞变色的蝴蝶?

scratch3.0怎么创建飞舞变色的蝴蝶?scratch3.0中想要制作一个动画,该怎么制作一个飞舞变色的蝴蝶,该怎么制作呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

eclipse工具栏没有创建类/创建包选项怎么办?

eclipse工具栏没有创建类/创建包选项怎么办?eclipse编程开发的时候,发现工具栏没有创建类创建包的选项,该怎么添加进来呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

scratch3.0怎么制作让小猫画圆的动画效果?

scratch3.0怎么制作让小猫画圆的动画效果?scratch3.0创建的小猫角色想要添加转圈的动画,该怎么让小猫画圆呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

scratch怎么快速插入电子吉他角色?

scratch怎么快速插入电子吉他角色?scratch中想要出入一个电子吉他角色,该怎么插入电子吉他角色呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多