Dotclear


Ignore:
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • admin/post.php

    r2858 r2907  
    411411               ($post_id ? $page_title_edit : $page_title) => '' 
    412412          )) 
     413     , array( 
     414          'x-frame-allow' => $core->blog->url 
     415     ) 
    413416); 
    414417 
  • inc/admin/lib.dc.page.php

    r2871 r2909  
    1717{ 
    1818     private static $loaded_js = array(); 
     19     private static $xframe_loaded = false; 
    1920     private static $N_TYPES = array( 
    2021          "success" => "success", 
     
    5455 
    5556     # Top of admin page 
    56      public static function open($title='',$head='',$breadcrumb='') 
     57     public static function open($title='',$head='',$breadcrumb='',$options=array()) 
    5758     { 
    5859          global $core; 
     
    9192 
    9293          // Prevents Clickjacking as far as possible 
    93           header('X-Frame-Options: SAMEORIGIN'); // FF 3.6.9+ Chrome 4.1+ IE 8+ Safari 4+ Opera 10.5+ 
    94  
     94          if (isset($options['x-frame-allow'])) { 
     95               self::setXFrameOptions($options['x-frame-allow']); 
     96          } else { 
     97               self::setXFrameOptions(); 
     98          } 
    9599          echo 
    96100          '<!DOCTYPE html>'. 
     
    919923          return $GLOBALS['core']->adminurl->get('load.plugin.file',array('pf' => $file)); 
    920924     } 
     925 
     926     public static function setXFrameOptions($origin=null) { 
     927          if (self::$xframe_loaded) { 
     928               return; 
     929          } 
     930          if ($origin !== null) { 
     931               $url = parse_url($origin); 
     932               header(sprintf('X-Frame-Options: %s', is_array($url)?($url['scheme'].'://'.$url['host']):'SAMEORIGIN')); 
     933          } else { 
     934               header('X-Frame-Options: SAMEORIGIN'); // FF 3.6.9+ Chrome 4.1+ IE 8+ Safari 4+ Opera 10.5+ 
     935          } 
     936          self::$xframe_loaded = true; 
     937 
     938     } 
    921939} 
  • plugins/pages/page.php

    r2856 r2909  
    304304} 
    305305 
     306dcPage::setXFrameOptions($core->blog->url); 
    306307?> 
    307308<html> 
Note: See TracChangeset for help on using the changeset viewer.

Sites map