|
| |
|
|
All times are GMT + 7 Hours
|
|
tentang session
 |
Fri Feb 19, 2010 16:42 |
 |
Author |
Message |
erros PHPnewbie

Joined: 06 Dec 2008 Posts: 12
|
| Post subject: tentang session |
|
|
halo semua,
saya membuat ruang member dan ketika member berhasil login diciptakan sebuah session tertentu.
session_start();
session_regenerate_id(true);
session_register('kodemember');
session_register('password');
misalkan halaman member tersebut adalah :
http://main.com/main.php?page=member
dan dibuka di satu window, kemudian masih dalam keadaan login saya copikan URL tersebut di jendela baru
lalu dijalankan, nah niat saya bagaimana caranya ketika url tersebut dikopikan ke new window untuk browser yang sama, dia tidak langsung muncul ke halaman tersebut, tetapi harus login lagi terlebih dahulu, meskipun halaman pertama di window browser yang lama masih dalam keadaan login dan blm di logout?
saya sudah tambahkan perintah session_regenerate_id(true); dengan tujuan ketika URL dicopi ke new window, dia akan minta login lagi. hal ini berhasil pada browser IE 7 yang saya pake, tapi tidak untuk browser lain seperti mozilla, opera dsb.
terima kasih |
|
| |
|
|
 |
Tue Feb 23, 2010 02:04 |
 |
Author |
Message |
clipper PHPuser

Joined: 07 Aug 2008 Posts: 46
|
| Post subject: |
|
|
| kalo nggak salah sih kalo kita mbuka browser baru pake menu >> new Window akan dianggap session yang sama (misal mozilla), tapi kalo yang jendela satunya udeh di logout pasti yg laen juga ke logout. |
|
| |
|
|
 |
Sat Jul 17, 2010 19:41 |
 |
Author |
Message |
musicanda PHP Master


Joined: 02 Jun 2010 Posts: 263 Location: Rumahnya Angeline
|
| Post subject: |
|
|
| pasti kalo di copi kan url nya, di browser/jendela 1, pasti terlogout, dengan asumsi, kakak sudah pasangin kondisi if, jika variabel session si member bersangkutan, udah tidak terbentuk,maka dia akan otomatis ke halaman login awal.. :) |
|
| |
|
|
 |
Sat Jul 17, 2010 20:14 |
 |
Author |
Message |
andriant Jagoan PHP


Joined: 31 Mar 2010 Posts: 911 Location: Jakarta
|
| Post subject: |
|
|
kalo mozilla emang tetep login gan, soalnya setiap window mozilla saling shared cookies.
coba aja deh sessionnya expirenya di pendekin tapi tetep aja mozilla selalu meremember session kita sebelum kita destroy si sessionnya...
solusinya sih yang saya kepikiran pake kombinasi Form POST dan javascript...
umpamanya kita mau lempar ke link baru ya kita harus ngepost suatu variable ke halaman tersebut, misalnya variable security check...
nah jika kalo security checknya enggak dipenuhi sistem akan otomatis nge logout. |
|
| |
|
|
 |
Mon Jul 19, 2010 21:38 |
 |
Author |
Message |
musicanda PHP Master


Joined: 02 Jun 2010 Posts: 263 Location: Rumahnya Angeline
|
| Post subject: |
|
|
kak andriant, boleh ga jelasin dikit ttg variabel security check? thanks b4 bro  |
|
| |
|
|
 |
Mon Jul 19, 2010 23:44 |
 |
Author |
Message |
andriant Jagoan PHP


Joined: 31 Mar 2010 Posts: 911 Location: Jakarta
|
| Post subject: |
|
|
ini contoh culunnya bro:
session.php
| Code: | <?php <?php
define(A, '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklm nopqrstuvwxyz');
define(B, 'fo2gFeBMQ45Vl3sDp1HGTYbz7vWdikU86taqSPE0muZOj9cKr xRLnJXhwyCIAN');
// str_shuffle(A)
function lamefish($text, $decrypt = false) {
return $decrypt ? strtr($text, B, A) : strtr($text, A, B);
}
class custom_session
{
var $ses_name = "contoh";
public function custom_session()
{
session_name($this->ses_name);
return session_start();
}
public function ses_destroy()
{
session_destroy();
}
public function ses_update_security()
{
session_unset();
$_SESSION["security_hash"] = md5(time());
}
public function ses_match()
{
return ($_SESSION["security_hash"] == $_REQUEST["security_hash"]);
}
public function ses_write_string($name, $value)
{
$_SESSION[$name] = lamefish($value);
}
public function ses_read_string($name)
{
return lamefish($_SESSION[$name],true);
}
public function ses_get_param()
{
return "security_hash=".$_SESSION["security_hash"];
}
public function ses_echo_param()
{
echo $_SESSION["security_hash"];
}
}
$ses = new custom_session();
?> ?> |
login.php
| Code: | <?php <?php
include "session.php";
session_unset();
$username = "test";
$password = "123";
$level = "admin";
// Apabila username dan password ditemukan
if ($_REQUEST["password"] == $password && $_REQUEST["username"] == $username){
$ses->ses_update_security();
$ses->ses_write_string("username", $username);
$ses->ses_write_string("level", $level);
header("location: index.php?".$ses->ses_get_param());
}
else{
?>
<form method="post" action="login.php">
Username: <input name="username" type="text" /><br />
Password: <input name="password" type="text" /><br />
<input name="submit" type="submit" value="login" />
</form>
<?php
}
?> ?> |
index.php
| Code: | <?php <?php
include "session.php";
if (!$ses->ses_match())
{
header("location: login.php");
}
if ($_REQUEST["bilangan"] != "")
{
echo "<h1>$_REQUEST[bilangan]</h1>";
}
?>
VARIABLE USERNAME TANPA OBJECT SESSION : <?php echo($_SESSION["username"]); ?><br />
VARIABLE USERNAME DENGAN OBJECT SESSION : <?php echo($ses->ses_read_string("username")); ?><br />
VARIABLE LEVEL TANPA OBJECT SESSION : <?php echo($_SESSION["level"]); ?><br />
VARIABLE LEVEL DENGAN OBJECT SESSION : <?php echo($ses->ses_read_string("level")); ?><br />
<br />
<br />
test link dengan security:<br />
<?php
for ($x=0;$x<4;$x++)
{
echo "<a href=\"index.php?{$ses->ses_get_param()}&bilangan=$x\">Index dengan bilangan $x</a><br />";
}
?>
<br />
test link tanpa security:<br />
<?php
for ($x=0;$x<4;$x++)
{
echo "<a href=\"index.php?bilangan=$x\">Index dengan bilangan $x</a><br />";
}
?> ?> |
jadi intinya sih, setiap kita manggil php kita juga harus lempar variable security check. _________________ Lagi Boker, Makan, Mau Tidur, Coding jangan lupa baca:
PHP Manual -> http://php.net/download-docs.php
MySQL Manual -> http://dev.mysql.com/doc/ |
|
| |
|
|
 |
Tue Jul 20, 2010 15:27 |
 |
Author |
Message |
atkinson PHP Master


Joined: 28 Feb 2010 Posts: 255 Location: /home/night
|
| Post subject: |
|
|
bayangin aja buka pesbuk gan... klu window satu uda login, buka tab atau window baru ya tetep login walau url cuma ketik pesbuk.com doank...
| Quote: |
ini contoh culunnya bro:
|
bang andriant, itu mah bukan script culun bang
| Quote: |
umpamanya kita mau lempar ke link baru ya kita harus ngepost suatu variable ke halaman tersebut, misalnya variable security check...
|
tpi apa ga masalh tu bang ketika url yg dicopy... soalnya kyaknya var. security chechk nya ikut di url kan? cmiiw
| Quote: |
kemudian masih dalam keadaan login saya copikan URL tersebut di jendela baru
|
_________________ samarinda web developer http://onewebstudio.com |
|
| |
|
|
 |
Tue Jul 20, 2010 21:08 |
 |
Author |
Message |
andriant Jagoan PHP


Joined: 31 Mar 2010 Posts: 911 Location: Jakarta
|
| Post subject: |
|
|
| atkinson wrote: |
tpi apa ga masalh tu bang ketika url yg dicopy... soalnya kyaknya var. security chechk nya ikut di url kan? cmiiw
kemudian masih dalam keadaan login saya copikan URL tersebut di jendela baru
|
pasti harus lempar variable da, soalnya ga mungkin disimpen di session ato cookies kan mozilla pake konsep share cookies..
mungkin bisa diakalin pake frameset biar ga bisa dikopi..
kalo mau lebih ekstrim malah referernya di liat, dari file apa...
mungkin ada rekan rekan yang punya ide ide lain ato fitur lain? |
|
| |
|
|
 |
Wed Jan 05, 2011 16:57 |
 |
Author |
Message |
whois PHPuser

Joined: 31 Dec 2010 Posts: 40
|
|
| |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|