08-11-2004
Multiple PHP sessions within the same browser instance
Dear all.....
I am currently writing a Help-Desk / Knowledge Base application using PHP/PostGreSQL.
I authenticate the user using a quite elaborate mechanism of cookies. The problem is that using cookies (I also have a version using sessions with the same problem), I can only seem to get one user logged in from any one browser instance. (Why would I want to be logging in as two users from one browser/IP? In case I want to open another browser tab, log in as "root" or whoever, and do some administration without logging out of my other session.)
For example, say I fire up Firefox, and log into my application. A session is started for the browser. I open another tab, and login as a different user, the session (and any session variables) are "overwritten" by this new session.
I have made a workaround for the time being, by writing IP addresses and usernames to a table, and only allowing one login from any one IP address. The problem here is that if the user forgets to logout, then session_destroy() (or manual cookie cleanup, depending on the version of my application) is never called, and when I roll this out the user will be calling the DBA/SA (me!) and I'd have to DELETE FROM ip_addr WHERE username = 'blah' AND ip_addr = 'xxx.xxx.xxx.xxx' to get rid of the entry and remove the lock - something I don't want to be doing for 150 users!!!!
In short, does anyone know a way to allow multiple independant sessions with independant session IDs from the *same* browser instance?
Any help would be greatly appreciated. If not, I can still stick to my one-login-per-IP method, as all our clients use different IP addresses and the proxy is bypassed on the local network.
10 More Discussions You Might Find Interesting
1. Solaris
Any idea as to how multiple loggin sessions by the same user (using Hyper terminal/Telnet) be restricted in Sun Solaris 8.
Rgds
Naushi (10 Replies)
Discussion started by: Naushi
10 Replies
2. Shell Programming and Scripting
I have a program which gets an input file (which contain a list of objects) and processes the objects one by one sequentially. However when there are many objects it is faster to split the input into smaller lists and run the program in multiple terminal sessions simultaneously. I want to know if... (2 Replies)
Discussion started by: stevefox
2 Replies
3. UNIX for Advanced & Expert Users
Just a quick question,
Can I establish Multiple Sessions between two machines using FTAM?
Regards,
Gaurav Goel (0 Replies)
Discussion started by: gauravgoel
0 Replies
4. UNIX for Dummies Questions & Answers
;)Hi Everyone,
I am using solaris 5.10.
I have a java process running in server mode in unix.
The problem is that it automatically forks i.e creates a child process.
I mean suddenly two instances of that process start running , in which the process-id of first instance is the parent... (0 Replies)
Discussion started by: glamo_2312
0 Replies
5. UNIX for Advanced & Expert Users
Hi Everyone,
I am using solaris 5.10.
I have a java process running in server mode in unix.
The problem is that it automatically forks i.e creates a child process.
I mean suddenly two instances of that process start running , in which the process-id of first instance is the parent... (5 Replies)
Discussion started by: glamo_2312
5 Replies
6. Shell Programming and Scripting
I need to install a tomcat6 with multiple instances like instance1,instance2 and instance3 in a server.
I came to know that for that we need to install tomcat6,apache2.0,mod_jk1.2 and jre with tools.jar installed.And we need to create multiple instances with same web.xml and difference... (0 Replies)
Discussion started by: tuxslonik
0 Replies
7. AIX
Hi.
I installed xming to access to my servers but I have a problem : i can only have one session at a time ... i don't find any parameter to change this.
Tks (3 Replies)
Discussion started by: stephnane
3 Replies
8. Red Hat
Hi,
I use OpenSSH to log on to a RH server but when I enter the password 2 session windows appear.
I only need one so can anyone advise where I can rectify this?
R,
D. (2 Replies)
Discussion started by: Duffs22
2 Replies
9. Shell Programming and Scripting
I wish to be able to pass PHP values between multiple scripts. In each script, I have the following before any HTML code:
<?php
session_start();
session_name("STORE");
session_set_cookie_params( 'lifetime', '/var/www' );
session_id('Gingy');
... (1 Reply)
Discussion started by: Meow613
1 Replies
10. UNIX and Linux Applications
Hello.
I plan to use mysql with only instance database so I can stop one database for maintenance without stopping every thing.
When one reads through the my.cnf config file, it is not clear if we must use at the same time a single database mysql plus any instances mysqld2 (for app1), mysqld3... (1 Reply)
Discussion started by: jcdole
1 Replies
LEARN ABOUT PHP
get_browser
GET_BROWSER(3) 1 GET_BROWSER(3)
get_browser - Tells what the user's browser is capable of
SYNOPSIS
mixed get_browser ([string $user_agent], [bool $return_array = false])
DESCRIPTION
Attempts to determine the capabilities of the user's browser, by looking up the browser's information in the browscap.ini file.
PARAMETERS
o $user_agent
- The User Agent to be analyzed. By default, the value of HTTP User-Agent header is used; however, you can alter this (i.e., look
up another browser's info) by passing this parameter. You can bypass this parameter with a NULL value.
o $return_array
- If set to TRUE, this function will return an array instead of an object.
RETURN VALUES
The information is returned in an object or an array which will contain various data elements representing, for instance, the browser's
major and minor version numbers and ID string; TRUE/ FALSE values for features such as frames, JavaScript, and cookies; and so forth.
The cookies value simply means that the browser itself is capable of accepting cookies and does not mean the user has enabled the browser
to accept cookies or not. The only way to test if cookies are accepted is to set one with setcookie(3), reload, and check for the value.
CHANGELOG
+--------+--------------------------------------------------+
|Version | |
| | |
| | Description |
| | |
+--------+--------------------------------------------------+
| 4.3.2 | |
| | |
| | The optional parameter $return_array was added. |
| | |
+--------+--------------------------------------------------+
EXAMPLES
Example #1
Listing all information about the users browser
<?php
echo $_SERVER['HTTP_USER_AGENT'] . "
";
$browser = get_browser(null, true);
print_r($browser);
?>
The above example will output something similar to:
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3
Array
(
[browser_name_regex] => ^mozilla/5.0 (windows; .; windows nt 5.1; .*rv:.*) gecko/.* firefox/0.9.*$
[browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*
[parent] => Firefox 0.9
[platform] => WinXP
[browser] => Firefox
[version] => 0.9
[majorver] => 0
[minorver] => 9
[cssversion] => 2
[frames] => 1
[iframes] => 1
[tables] => 1
[cookies] => 1
[backgroundsounds] =>
[vbscript] =>
[javascript] => 1
[javaapplets] => 1
[activexcontrols] =>
[cdf] =>
[aol] =>
[beta] => 1
[win16] =>
[crawler] =>
[stripper] =>
[wap] =>
[netclr] =>
)
NOTES
Note
In order for this to work, your browscap configuration setting in php.ini must point to the correct location of the browscap.ini
file on your system.
browscap.ini is not bundled with PHP, but you may find an up-to-date php_browscap.ini file here.
While browscap.ini contains information on many browsers, it relies on user updates to keep the database current. The format of the
file is fairly self-explanatory.
PHP Documentation Group GET_BROWSER(3)