标签: sessionid

我们何时何地使用 session_id()

我不明白下面的代码,我不知道,当我们使用session_id()之前session_start()

<?php
if($_GET){
    //defining the session_id() before session_start() is the secret
    session_id($_GET['session_id']);
    session_start();
    echo "Data: " . $_SESSION['theVar'];
    //use your data before below commands
    session_destroy();
    session_commit();
}else{
    //common session statement goes here
    session_start();
    $session_id=session_id();
    $_SESSION['theVar'] = "theData";
    echo "your.php?session_id=" . $session_id;
}
?>
Run Code Online (Sandbox Code Playgroud)

我要你解释一下!不只是复制 php.net 的描述!
另一方面, session_id() 在哪里使用?!它的用途是什么?!先感谢您 !

php session sessionid

6
推荐指数
1
解决办法
1万
查看次数

在网址中显示会话ID是一种好习惯吗?

我正在使用PHP 4+,我正在一个osCommerce项目中工作,我在网址中遇到会话ID,所以我只需要知道,这是一个很好的做法,在网址上显示会话ID?如果是,那么为什么?如果没有那么为什么?以及如何在URL中隐藏会话ID并在url中使用任何替换字符串?

php url sessionid

5
推荐指数
1
解决办法
947
查看次数

Spring MVC和Jetty:防止jsessionid在RedirectView中用于重定向到外部站点

在带有Jetty的Spring MVC 2.5中 - 可能有任何servlet容器 - 我希望使用RedirectView通过MagicAndView中视图名称的魔术"redirect:"前缀重定向到外部站点.

不幸的是,RedirectView使用response.encodeRedirectURL(),因此我的(其他想要的)会话ID被附加到URL.将会话ID携带到外部站点不仅存在安全风险,"; jsessionid = gagnbaba"字符串也可能被解释为其他站点上的ContextPath/PathInfo的一部分,从而导致URL错误.

除了实现我自己的ExternalRedirectView之外的任何"弹性"选项......还要破解ViewResolver来解释"externalRedirect:"前缀?(不需要cookie.)

莫里茨

redirect spring jetty spring-mvc sessionid

5
推荐指数
1
解决办法
3277
查看次数

PHP $ _SESSION ['key']用输入按钮值覆盖.为什么?

在PHP购物车中遇到以下问题.

我的会话转储如下:

Array ( [username] => test@test.com [key] => 1 )
Run Code Online (Sandbox Code Playgroud)

购物车有三个按钮:

<form name='cartForm' action='cart.php' method='post'>
<input type='image' value='submit' name='continueshopping' src='x.jpg' />
<input type='image' value='submit' name='update' src='y.jpg' />
<input type='image' value='submit' name='checkout' src='z.jpg' />
Run Code Online (Sandbox Code Playgroud)

每当我按下其中一个按钮时,页面会重新加载并执行所需的操作(即删除或添加项目)...但是会话数组会更改为以下内容(取决于按下的按钮)

Array ( [username] => test@test.com [key] => continueshopping_y )
Array ( [username] => test@test.com [key] => update_y )
Array ( [username] => test@test.com [key] => checkout_y )
Run Code Online (Sandbox Code Playgroud)

[key]是保留字吗?为什么$ _SESSION ['key']的值会从只发布POST的表单中被覆盖?这是我们项目的问题,因为我们在[key]中存储了用户帐户ID,但每次在购物车中按下按钮时,该值都会被覆盖.

实际的代码很长,在这里发布它是不切实际的.不知道要发布什么,因为除了抓住session_id()之外,购物车永远不会与会话交互.真的,我只是想知道是否有人经历过类似的事情.我无法在本地服务器(PHP5)上重新创建问题,只存在于实时服务器(PHP4)上.

提前致谢.

php arrays session sessionid

5
推荐指数
1
解决办法
419
查看次数

PHP会话ID相同,但变量丢失

我有一个登录页面,可在成功登录后设置会话变量。然后,登录页面重定向到管理页面。管理员页面能够读取会话变量。但是,当我执行一个在内容div中加载viewUsers.php的jQuery load()函数时,会话变量就消失了。奇怪的是,会话ID是相同的。

我在管理页面和viewUsers页面上都使用了var_dump()。管理页面显示了登录页面上的所有适当变量,但使用jQuery load()函数var_dump $ _SESSION调用的viewUsers页面为空白。$ _COOKIE ['PHPSESSID']的var_dump具有正确的ID,对我来说没有任何意义。

这就是我设置会话变量的方式。

$_SESSION['userID'] = $userInfo['ID'];
$_SESSION['userType'] = $userInfo['userType'];
$_SESSION['programID'] = $userInfo['programID'];
Run Code Online (Sandbox Code Playgroud)

这是jQuery

$("#content").load("viewUsers.php");
Run Code Online (Sandbox Code Playgroud)

所有页面的最顶部都有session_start()。当我尝试使用window.open和window.location而不是jQuery load()函数时,会话变量也不起作用。

即使我具有正确的会话ID,一些会话变量也会丢失。如果有人能对此有所启示,我将不胜感激!

截至目前,我正在填充隐藏字段,并使用post函数而不是load来解决它。我知道这不是最好的方法,但是这是我找出方法的唯一方法。

编辑: 这是读取会话变量正常的索引的顶部。

 <?php
    session_start();
    //require("session.php");
    if(!isset($_SESSION['userID'])){
        header("location: ../login/index.php");
    }
?>
Run Code Online (Sandbox Code Playgroud)

这是整个查看用户

    <?php 
session_start();

//foreach($_POST as $name => $value){
    //$_SESSION[$name] = $value;
//}

//echo " session id " . $_COOKIE['PHPSESSID'];
var_dump($_COOKIE);
var_dump($_SESSION);
?>

<?php require("adminFunctions.php"); ?>


<h2>View Current Users</h2>
<?php require("userlinks.php"); ?>
<table id="userTable" class="tablesorter">
    <?php getUsers($_SESSION['programID'], $_SESSION['userType']) ?>
</table>
<script type="text/javascript">

    $('td[name="userID"]').hide();

    //$("#userTable th").click(function(){
        //color();
        //colorTable(); …
Run Code Online (Sandbox Code Playgroud)

php jquery session-variables sessionid

5
推荐指数
1
解决办法
6182
查看次数

获取所有PHP session_id的列表

是不是可以获得session_idPHP SESSIONS 中的所有列表?

注意:我需要在服务器中维护一些文件.一个文件等于一个会话.如果SESSION过期,我需要确定旧文件的行为.


谢谢大家的任何建议.

php session list sessionid

5
推荐指数
1
解决办法
6736
查看次数

更改正在运行的进程会话ID和lpDesktop?

在构建通过STARTUPINFO中指定的CreateProcessAsUser和lpDesktop在用户会话中启动交互式进程的服务之后 - 是否可以动态更改进程正在执行的会话?

因此,如果我们在会话1中运行记事本而另一个用户在会话2中登录到同一台计算机,我们可以将记事本的ProcessId从1更改为2吗?我理解,完成此任务的良好遵循和理智的方法是在第2节中启动记事本,但是我们可以使用API​​调用来实现吗?

顺便说一句,我是用C#编写的,但使用pInvoke或低级语言我感觉很舒服.

.net pinvoke winapi windows-services sessionid

5
推荐指数
1
解决办法
1130
查看次数

HtmlUnit会话管理

我正在尝试使用HtmlUnit登录Facebook页面并查看其HTML内容.我正在尝试通过HtmlUnit填写登录凭据,但是当单击提交按钮时我看不到会话正在进行.

无法在htmlunit会话管理类中找到很多内容.我还附加了我正在使用的代码来尝试此问题.任何帮助赞赏!

WebClient webClient = new WebClient();
HtmlPage page1 = webClient.getPage("https://www.facebook.com");
List<HtmlForm> listF = page1.getForms();
HtmlForm form = null;
for(int i=0; i<listF.size(); i++)
{
    if(listF.get(i).getId().equals("login_form"))
    {
        form = listF.get(i);
        }
}
HtmlTextInput uName = form.getInputByName("email");
HtmlPasswordInput passWord = form.getInputByName("pass");
HtmlSubmitInput button = form.getInputByValue("Log In");
uName.setValueAttribute(FACEBOOK_UNAME);
passWord.setValueAttribute(FACEBOOK_PASS);
HtmlPage page2 = button.click();
Run Code Online (Sandbox Code Playgroud)

sessionid htmlunit

5
推荐指数
1
解决办法
5006
查看次数

检查PDO中的会话ID是否为ISSET

我正在切换到PDO预处理语句,我在获取和使用会话ID方面遇到了问题.

当客户注册时,session_id被设置为等于user_id(自动递增),并且当用户返回时,session_id以相同的方式设置.这在切换到PDO之前正常工作,但是现在session_id在任何后续页面上都没有被识别(它将'user_id'视为null)

我是否需要切换到使用PDO会话处理程序,还是有办法继续使用我熟悉的方法?

mysql - 这是我用来设置会话ID的代码(这个工作正常):

// Statements defining $user_name, $password and $hashedPassword (as shown below), and mysql_real_escape_string
// Insert statement
if($result) { 
$qry="SELECT * FROM customer_info WHERE user_name='$user_name' AND password='".sha1($salt + $_POST['password'])."'";
$result=mysql_query($qry);
if($result) {
    if(mysql_num_rows($result) == 1) {
    session_regenerate_id();
    $member = mysql_fetch_assoc($result);
    $_SESSION['SESS_USER_ID'] = $member['user_id'];
    session_write_close();
    exit();
    } } }
Run Code Online (Sandbox Code Playgroud)

PDO - 这是我尝试的代码(会话ID未设置):

$user_name = $_POST['user_name'];
$password = $_POST['password'];  
$hashedPassword = sha1($salt . $password); 
$stmt = $conn->prepare('INSERT INTO customer_info (...) VALUES(...)');
$stmt->bindParam(':user_id', $user_id); 
...  
$insertResult = $stmt->execute();  
if …
Run Code Online (Sandbox Code Playgroud)

php pdo sessionid isset

5
推荐指数
0
解决办法
3489
查看次数

Shiro在2分钟后重置会话

我在我的webapp中使用Apache Shiro.

我在会话中存储了一些参数,特别是存储在数据库中的对象的主键.

当用户登录时,我从数据库加载对象并将主键保存在会话中.然后在应用程序内,用户可以编辑对象的数据,并点击取消或保存按钮.

这两个按钮都会触发RPC,以便将更新的数据提供给服务器.然后使用存储在会话中的主键在数据库中更新对象.

如果用户在应用程序中保持活动状态(制作一些RPC),一切正常.但是如果他在3分钟内保持不活动状态并随后生成RPC,那么Shiro securityUtils.getSubject().getSession()将返回null.

会话超时设置为1,200,000毫秒(20分钟),所以我不认为这是问题.

当我浏览存储在会话管理器缓存中的会话时,我可以看到用户的会话,org.apache.shiro.session.mgt.SimpleSession,id=6de78f10-b58e-496c-b40a-e2a9a4ad069c但是当我尝试从cookie获取会话ID并调用 SecurityUtils.getSecurityManager().getSession(key)以获取会话时(其中key是SessionKey实现):我得到一个例外.

当我尝试从会话ID构建新主题时,我将丢失会话中保存的所有属性.

我很高兴发布一些代码来帮助解决问题,但我尝试了很多解决方法,我不知道从哪里开始......所以请让我知道你需要什么.

或者,如果有人知道一个比Shiro更好的文档框架我很满意(Shiro缺乏文档使得它真的太耗时)

subject sessionid session-timeout shiro

5
推荐指数
1
解决办法
4776
查看次数