我有一个 MVC3 Web 应用程序,它可以输入谷歌地图地址,但是存在安全风险,比如 XSS。
谷歌地图地址包含iframe元素,我们不能使用 AntiXSS 库来清理输入。由于在控制器操作中也接受表单数据,我还被迫关闭验证。
但是如何保护这部分应用程序?
任何想法可能在技术上都是有用的。之前谢谢。
我有一个 MVC3 Web 应用程序,它可以输入谷歌地图地址,但是存在安全风险,比如 XSS。
谷歌地图地址包含iframe元素,我们不能使用 AntiXSS 库来清理输入。由于在控制器操作中也接受表单数据,我还被迫关闭验证。
但是如何保护这部分应用程序?
任何想法可能在技术上都是有用的。之前谢谢。
Iframe
由于控制输入,我们需要使用黑名单。
一种简单的方法是通过 API 获取Latitude
和Longitude
作为输入变量。所以像下面这样使用它们:
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
function initialize() {
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
</script>
或者使用更有用的东西,比如这个资源。