时间:2021-05-21
今天在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后面的字符串之间的间隔使用逗号而不是句号。因为句号之间的字符串会先被连接起来然后再输出,而,号只是按顺序输出。在这个例子里显然不需要先连接字符串。(这一点我平时倒没太注意)
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
软件语言的选择和问题分析。现在网络开发的三种主流语言:ASP.NET、PHP、JSP,它们都存在自身的独特性和优缺点。JSP兼容性好、安全性最好、标签可以扩充、
web应用系统的测试可分为:功能测试、性能测试、安全性测试、配置和兼容性测试、可用性测试、链接测试等。 web(WorldWideWeb)即全球广域网,也称为
win10系统比win7系统安全性能提升、ARM兼容性、可能推出应用商店、即时开机功能、更耐用、“HistoryVault”功能、更好的用户界面。 Micro
加强页面设计的规范性。通过调研发现,目前我国很多期刊网站的页面设计水平仍停留在多年前的Web2.0时代,页面代码安全性、规范性和兼容性较差,特别是多浏览器兼容体
psk密码是无线路由里边设置的密码。WPA2-PSK目前是最安全的,但有的无线网卡不支持这种加密模式。所以目前集安全性和兼容性最佳的加密模式还是WPA-PSK。