Project

General

Profile

Download (1.39 KB) Statistics
| Branch: | Tag: | Revision:
1
<?php
2
/*
3
 * auth_check.inc
4
 *
5
 * part of pfSense (https://www.pfsense.org)
6
 * Copyright (c) 2017 Rubicon Communications, LLC (Netgate)
7
 * All rights reserved.
8
 *
9
 * Licensed under the Apache License, Version 2.0 (the "License");
10
 * you may not use this file except in compliance with the License.
11
 * You may obtain a copy of the License at
12
 *
13
 * http://www.apache.org/licenses/LICENSE-2.0
14
 *
15
 * Unless required by applicable law or agreed to in writing, software
16
 * distributed under the License is distributed on an "AS IS" BASIS,
17
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
 * See the License for the specific language governing permissions and
19
 * limitations under the License.
20
 */
21
/*
22
 * Light weight authentication check thats ment as a substitute for guiconfig.inc
23
 * in cases where frequent automatic requests are made like graphs and widget pages.
24
 */
25

    
26
require_once("auth_func.inc");
27

    
28
function session_read_single_var($varname) {
29
	$session_started = false;
30
	if (!session_id()) {
31
		session_start();
32
		$session_started = true;
33
	}
34
	$result = $_SESSION[$varname];
35
	if ($session_started) {
36
		// if we started the session then lets close it..
37
		session_abort();
38
	}
39
	return $result;
40
}
41

    
42
$session_pagematch = session_read_single_var("page-match");
43

    
44
$pageuri = $_SERVER['REQUEST_URI'];
45
if (cmp_page_matches($pageuri, $session_pagematch)) {	
46
	return; // auth OK
47
}
48
require_once("authgui.inc");
(2-2/54)