
XHP
|
161
然而,如果银行网站存在一个
XSS
漏洞,攻击者可能利用它执行自己设计好
的
JavaScript
代码,因为这个银行网站已经提供了相关的漏洞条件。对应的恶意
JavaScript
将会访问到银行网站的
DOM
,甚至更多。例如,向攻击者控制的网站发
起一个包含你银行卡号的
HTTP
请求。
7.2
如何使用
XHP
HHVM
内置了对
XHP
的支持。你可以使用配置项目
hhvm.enable_xhp
来对它进行开启
和关闭。你可以在不开启任何其他
Hack
特性的前提下开启
XHP
特性。
你可能还需要
XHP
的
Hack
库。它包含了形成
XHP
基础设施的类,还包括
HTML5
所
支持的标记对应的类。为了把它整合进你的项目,推荐使用
Composer
。它将会致力于从
源头获取代码,然后设置自动加载关联类库,这样你就能够立即使用
XHP
了。
对
Composer
使用的完整介绍已经超出了本书的范围,但是这里有段代码,需要添加到
你项目里面的
composer.json
文件中:
"require": {
"facebook/xhp-lib": "~2.2"
}
这段话指明了我们需要
XHP
是
2.2
或者更新版本。
7.2.1
基本标记使用
我们已经看到了很多个关于
XHP
使用的例子,但是在这里,我们将会从最基本的开始
讲起。
XHP
是创建
XHP
对象的一种语法。
XHP
对象只是和其他的
Hack
对象非常类似:例如,
你可以在它们之上调用方法,如果你传递一个
XHP
对象到内置函数
is_object()
,它将
会返回
true
。唯一的区别就在于,创建一个
XHP
对象并不使用关键词 ...