← Back to team overview

mahara-contributors team mailing list archive

[Bug 628113] Re: Using javascript for Back link

 

Relying on the REFERER is a bad idea because lots of privacy-related
software/proxies strip it out or fake it.

** Changed in: mahara
   Importance: Wishlist => Low

** Changed in: mahara
    Milestone: None => 1.4.0

-- 
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
https://bugs.launchpad.net/bugs/628113

Title:
  Using javascript for Back link

Status in Mahara ePortfolio:
  Confirmed

Bug description:
  Now we are using $_SERVER['HTTP_REFERER'] to get a previous view page.
But for example the following 2nd case, we can not go back to the Top Page.

1. Top Page > Links and Resources > Site view 001 > Back > Top Page
2. Top Page > Links and Resources > Site view 001 > Public view by user001 > Back > Site view 001 > Back > public view by user001 > Back > Site view 001

So how about changing view/view.php as below?

File: view/view.php
Line: 179

[ Before ]
if ($USER->is_logged_in() && !empty($_SERVER['HTTP_REFERER'])) {
    $page = get_config('wwwroot') . 'view/view.php?id=' . $viewid . ($new ? '&new=1' : '');
    if ($_SERVER['HTTP_REFERER'] != $page) {
        $smarty->assign('backurl', $_SERVER['HTTP_REFERER']);
    }
}

[ After ]
if ($USER->is_logged_in() && !empty($_SERVER['HTTP_REFERER'])) {
    $page = get_config('wwwroot') . 'view/view.php?id=' . $viewid . ($new ? '&new=1' : '');
    if ($_SERVER['HTTP_REFERER'] != $page) {
        $smarty->assign('backurl', 'javascript:history.back()');
    }
}





References