4. Security Considerations (安全考虑)
URI Template不包含活动或可执行内容。但是,如果攻击者获得对模板或表达式内允许保留字符扩展的变量值的控制,则可能制作意外的URI。在任一情况下,安全考虑主要由谁提供模板、谁提供模板中变量使用的值、扩展发生在什么执行上下文(客户端或服务器)以及结果URI在何处使用来确定。
本规范不限制URI模板可能使用的位置。当前的实现存在于服务器端开发框架内,以及客户端javascript中用于计算链接或表单。
在框架内,模板通常充当数据可能在稍后(请求时)客户端请求中的URI内出现的位置的指南。因此,安全问题不在模板本身,而在服务器如何在正常Web请求中提取和处理用户提供的数据。
在客户端实现中,URI模板具有许多与HTML表单相同的属性,除了限于URI字符,并且可能包含在HTTP头字段值中而不仅仅是消息正文内容。应注意确保潜在危险的URI引用字符串(如以"javascript:"开头的字符串)不会出现在扩展中,除非模板和值都由可信来源提供。
其他安全考虑与URI的安全考虑相同,如[RFC3986]第7节所述。