在PHP中使用javascript设置Session变量

San*_*tri 36 javascript php session

是否可以使用Javascript设置PHP会话变量?

小智 29

在JavaScript中:

jQuery('#div_session_write').load('session_write.php?session_name=new_value');
Run Code Online (Sandbox Code Playgroud)

在session_write.php文件中:

<?
session_start();

if (isset($_GET['session_name'])) {$_SESSION['session_name'] = $_GET['session_name'];}
?>
Run Code Online (Sandbox Code Playgroud)

在HTML中:

<div id='div_session_write'> </div>
Run Code Online (Sandbox Code Playgroud)

  • 如果人们使用期望它们只能设置为服务器端的会话变量,则这可能存在安全风险. (26认同)

Dar*_*rov 19

会话存储在服务器端,因此您无法从JavaScript添加值.您获得客户端的所有内容都是包含id的会话cookie.一种可能性是将AJAX请求发送到服务器端脚本,该脚本将设置会话变量.使用jQuery .post()方法的示例:

$.post('/setsessionvariable.php', { name: 'value' });
Run Code Online (Sandbox Code Playgroud)

当然,你应该对暴露这样的脚本保持谨慎.


Lès*_*sté 8

如果您想允许客户端操作持久数据,那么最好只使用cookie.这就是Cookie的设计目标.