ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Changeset 13653


Ignore:
Timestamp:
Aug 11, 2010, 2:57:15 PM (12 years ago)
Author:
imamura623
Message:

google map小窓のXSS対策パッチ適用

Location:
OpenPNE/branches/stable-2.12.x/webapp/modules/pc
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/stable-2.12.x/webapp/modules/pc/page/h_googlemap.php

    r12846 r13653  
    1717
    1818        // --- リクエスト変数
    19         $x = $requests['x'];
    20         $y = $requests['y'];
    21         $z = $requests['z'];
    2219        $t = $requests['t'];
    23         $q = $requests['q'];
    2420        // ----------
    25         $this->set('x', $x);
    26         $this->set('y', $y);
    27         $this->set('z', $z);
    28         $this->set('q', $q);
     21
    2922        //表示モード
    3023        {
  • OpenPNE/branches/stable-2.12.x/webapp/modules/pc/templates/h_googlemap.tpl

    r13057 r13653  
    1111<script type="text/javascript">
    1212//<![CDATA[
     13
     14// parse request parameters
     15var request = {
     16  x: "", y: "", z: "", q: ""
     17};
     18var params = window.location.search.substr(1).split('&');
     19for (var i = 0; i < params.length; i++) {
     20  var parts = params[i].split('=');
     21
     22  var n = parts[0];
     23  var v = decodeURIComponent(parts[1]);
     24  if ("z" == n)
     25  {
     26    v = parseInt(v);
     27  }
     28  request[n] = v;
     29}
     30var MapType = ({$MapType});  // It is not user-inputed values
     31
    1332var gls;
    1433var gMap;
     
    1736    var first = gls.results[0];
    1837    var point = new GLatLng(parseFloat(first.lat), parseFloat(first.lng));
    19     var zoom = ({$z});
     38    var zoom = request.z;
    2039    gMap.addControl(new GSmallMapControl());
    2140    gMap.addControl(new GMapTypeControl());
    22     gMap.setMapType(({$MapType}));
     41    gMap.setMapType(MapType);
    2342    gMap.setCenter(point, zoom);
    2443    var marker = new GMarker(point);
     
    2847function load() {
    2948    if (GBrowserIsCompatible()) {
    30         if ((({$x}) == 0) && (({$y}) == 0)){
     49        if ((request.x == 0) && (request.y == 0)){
    3150            gMap = new GMap2(document.getElementById("map"));
    3251            gMap.addControl(new GSmallMapControl());
     
    3655            gls.setCenterPoint(gMap);
    3756            gls.setSearchCompleteCallback(null, OnLocalSearch);
    38             var q = "({$q})";
     57            var q = request.q;
    3958            gls.execute(q);
    4059        } else {
    41             var point = new GLatLng(({$x}), ({$y}));
    42             var zoom = ({$z});
     60            var point = new GLatLng(request.x, request.y);
     61            var zoom = request.z;
    4362            gMap = new GMap2(document.getElementById("map"));
    4463            gMap.addControl(new GSmallMapControl());
    4564            gMap.addControl(new GMapTypeControl());
    4665            gMap.setCenter(point, zoom);
    47             gMap.setMapType(({$MapType}));
     66            gMap.setMapType(MapType);
    4867            var marker = new GMarker(point);
    4968            gMap.addOverlay(marker);
Note: See TracChangeset for help on using the changeset viewer.