问题标签 [session]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 服务器上的 Rails 会话
我希望在不同服务器上共享相同会话的一些 Rails 应用程序。我可以在同一台服务器上完成,但不知道是否可以在不同的服务器上共享。有人已经做过或知道怎么做吗?
谢谢
javascript - 我如何检查以确保窗口正在被积极使用,如果没有提醒最终用户他们即将被注销?
为我的公司开发一个新的后端系统,他们的一个请求是锁定一个窗口,如果用户长时间闲置,则将其发送到登录屏幕。
我想我会通过将监听器附加到点击、鼠标移动和按键来使用 JavaScript 来做到这一点,但我担心会弄乱其他脚本。
有什么建议么?
asp.net - 如何在经典 asp、.NET 和 javascript 之间共享变量值?
我IHttpHandler
在 .NET C# 中创建了一个将 html 片段返回到经典 asp 页面的方法。
经典的 asp 页面IHttpHandler
通过使用 vbscript 中的基本 http 请求ServerXMLHTTP
或 JavaScript 中的 Ajax 调用与通信。
现在,我需要一种方法来与 .NET 应用程序共享我在 vbscript 中但在 javascript 中没有的变量。
首先,在经典的 asp 和 .net 之间共享一个变量不是问题,因为我可以将它添加到 http 请求中。因为该变量在 javascript 中不可用,但是在这种情况下我不能这样做。
我的想法是,我可以将变量缓存在 .NET 应用程序中,并将缓存的版本用于 javascript 调用。但要使其正常工作,我需要一种方法来唯一标识 .NET 中的“客户端”......
我尝试添加System.Web.SessionState.IRequiresSessionState
到我的 HttpHandler 并使用 SessionId 但这不起作用,因为对 HttpHandler 的每次调用似乎都会获得一个新 ID。
我的想法正确吗?我在这里有什么选择?
authentication - 处理网络应用程序中会话超时的最佳方法?
我目前正在构建一个用于工厂/仓库类型位置的内部 Web 应用程序。用户将在几个人之间共享一台 PC,因此我们需要有一个相当短的会话超时时间,以防止人们四处走动并让应用程序处于登录状态,这样其他人就可以来到 PC 并使用前一个用户的用户名进行操作。
这样做的问题是,当用户当前正在将信息输入表单时,会话可能会超时,尤其是当他们需要很长时间时。
您将如何以用户友好的方式处理这个问题?
java - 访问 JSP 中的常量(没有 scriptlet)
我有一个定义各种会话属性名称的类,例如
我想在 JSP 中使用这些常量来测试这些属性是否存在,例如:
但我似乎无法正确获取语法。此外,为了避免在多个地方重复上面相当冗长的测试,我想将结果分配给本地(页面范围)变量,并改为引用它。我相信我可以用 来做到这一点<c:set>
,但我再次努力寻找正确的语法。
更新:根据以下建议,我尝试了:
这没有用。因此,我尝试替换常量的字面值。我还将常量添加到页面的内容中,以便在呈现页面时验证常量的值
这工作正常,它在页面上打印了预期值“current.user”。我无法解释为什么使用 String 文字有效,但是当两者似乎具有相同的值时,对常量的引用却不起作用。帮助.....
asp.net - ASP.NET Ajax - 异步请求有单独的会话?
我们正在编写一个搜索应用程序,它将搜索条件保存到会话状态并在 asp.net 更新面板中执行搜索。有时当我们连续执行多次搜索时,第二次或第三次搜索有时会返回第一组搜索条件的结果。
示例:我们的第一次搜索我们查找“John Smith” -> 显示 John Smith 结果。我们在“Bob Jones”上进行的第二次搜索 -> 显示 John Smith 结果。
正如我所说,我们将所有搜索条件保存在会话状态中,并从 ajax 请求内部的会话状态中读取它以格式化 DB 查询。当我们在 VS 中设置断点时,一切都会正常运行,但没有它们,我们会得到原始的搜索条件和结果。
我的猜测是因为它们保存在会话中,ajax 请求以某种方式获取自己的会话并将条件保存到该会话中,然后每次都从该会话中检索条件,但是非异步的东西能够看到条件何时被修改并相应地保存对状态的更改,但是因为它们来自两个不同的会话,所以保存和读取的内容存在差异。
编辑::: 为了详细说明,有人建议将搜索条件附加到查询字符串中,这通常是一种很好的做法,我同意它应该是这样的,但按照我们的要求,我认为它不可行。他们想要它,以便用户填写输入控件点击搜索并且没有页面重新加载,他们唯一看到的是页面上的进度指示器,并且他们仍然能够导航和使用当前页面上的其他功能。如果我要向查询字符串添加条件,我将不得不执行另一个请求,导致整个页面加载,这取决于搜索条件可能需要很长时间。这就是为什么我们使用 ajax 调用来执行搜索以及为什么我们没有引起另一个完整页面请求的原因......我希望这可以澄清情况。
javascript - Javascript 和会话变量
我有一个在其中存储事件的数据库和一个带有日历对象的页面。在渲染日期时,它会查看月份事件,如果与当前日期匹配,它会创建一个链接按钮来表示日历上当天的事件并将其添加到该单元格。我向链接按钮添加了一些 javascript,以将 window.location 更改为页面以查看在查询字符串中传递 EventID 的事件详细信息(我尝试设置新创建的链接按钮的 postbackurl,但它不会导致回发......不走运)。我需要设置一个会话变量,即。Session("EditMode") = "Edit" 那么新页面会知道它是获取现有事件信息而不是准备创建新事件吗?有什么建议么?
session - 如何让两个浏览器窗口共享同一个“会话”?
我有一个应用程序需要打开一个新窗口(在同一域中),以便用户可以查看报告,但在某些浏览器*上,新窗口不共享原始窗口的非持久 cookie,这会导致用户必须重新登录。我能做些什么来阻止用户在新窗口中再次登录吗?
*事实上,在 IE7 中它是零星的——有时新窗口共享 cookie,有时不共享。
php - 保护 PHP 共享主机上的数据库和会话数据
我使用SQLite
存储在filesystem
.
这在功能上很好,而且维护成本低。但是,现在它需要在共享主机上运行。
共享主机上的所有 Web 应用程序都以同一个用户身份运行,因此我的用户的会话数据以及数据库、代码等都是易受攻击的。
DBMS
许多人建议在这种MySQL
情况下存储会话。所以起初我以为我会这样做,并将SQLite
数据MySQL
也移动到其中。但后来我意识到MySQL
Web 应用程序用户需要读取凭据,所以我又回到了原点。
我认为最好的解决方案是PHP
作为 a使用,CGI
以便每个 Web 应用程序以不同的用户身份运行。这听起来不错,但我的主机不这样做,它使用mod_php
. 从管理员的角度来看,启用此功能是否有任何缺点?(性能、向后兼容性等)?如果没有,那么我会要求他们启用此功能。
否则,在这种情况下,我能做些什么来保护我的数据库和会话数据吗?
php - PHP:在 $_SESSION 中存储“对象”
我刚刚发现我实际上可以在 $_SESSION 中存储对象,我觉得这很酷,因为当我跳转到另一个页面时,我仍然有我的对象。现在,在我开始使用这种方法之前,我想知道它是否真的是一个好主意,或者是否存在潜在的陷阱。
我知道,如果我有一个单一的入口点,我就不需要这样做,但我还没有到那里,所以我没有单一的入口点,我真的很想保留我的对象,因为我没有不要那样失去我的状态。(现在我还读到我应该对无状态站点进行编程,但我还不明白这个概念。)
简而言之:在会话中存储对象可以吗,有什么问题吗?
编辑:
临时总结:到目前为止,我知道重新创建对象可能会更好,即使它涉及再次查询数据库。
进一步的答案可能会更详细地说明这方面!