Commit:    540872824575ecfcdf42511a7784ccbd1d3f4e13
Author:    Sherif Ramadan <[email protected]>         Tue, 10 Dec 2013 16:55:48 
-0500
Parents:   92aa114f859b695b82743feba122a3b27a6925a7
Branches:  master

Link:       
http://git.php.net/?p=web/php.git;a=commitdiff;h=540872824575ecfcdf42511a7784ccbd1d3f4e13

Log:
Fix potential Access-Control-Allow-Origin bug in vote-note.php - Bug #65887

Bugs:
https://bugs.php.net/65887

Changed paths:
  M  manual/vote-note.php


Diff:
diff --git a/manual/vote-note.php b/manual/vote-note.php
index 8aa3acc..c56c57f 100644
--- a/manual/vote-note.php
+++ b/manual/vote-note.php
@@ -19,6 +19,14 @@ $master_url = 
"http://master.php.net/entry/user-notes-vote.php";;
 
 if ($_SERVER['REQUEST_METHOD'] == 'POST') {
   if (isset($_SERVER['HTTP_X_JSON']) && $_SERVER['HTTP_X_JSON'] == 'On' && 
!empty($_REQUEST['id']) && !empty($_REQUEST['page']) && ($N = 
manual_notes_load($_REQUEST['page'])) && array_key_exists($_REQUEST['id'], $N) 
&& !empty($_REQUEST['vote']) && ($_REQUEST['vote'] === 'up' || 
$_REQUEST['vote'] === 'down')) {
+    // Set Access-Control-Allow-Origin response headers here
+    $accessAllowed = 
array('http://php.net','http://www.php.net','https://www.php.net'); // include 
the default php.net hosts
+    if (isset($_SERVER['HTTP_HOST']) && $_SERVER['HTTP_HOST'] !== 'php.net' && 
$_SERVER['HTTP_HOST'] !== 'www.php.net') {
+        // include the current host requested in case we're using a mirror
+        $accessAllowed[] = 'http://' . $_SERVER['HTTP_HOST'];
+    }
+    header('Access-Control-Allow-Origin: ' . implode(',',$accessAllowed));
+    
     $response = array();
     $update = $N[$_REQUEST['id']]['votes']['up'] - 
$N[$_REQUEST['id']]['votes']['down'];
     $hash = substr(md5($_REQUEST['page']), 0, 16);


--
PHP Webmaster List Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to