直接从POST值设置SESSION变量

时间:2014-03-06 21:34:12

标签: php mysql session pdo

我有两种形式可以将数据添加到数据库中。第一个表单要求提供基本详细信息(姓名,电子邮件,电话等)并存储它们。用户可以在其下方添加选项(例如接收简报,接收促销活动等)

第二种形式使用会话变量来验证用户是谁:当他们登录或注册时,他们的电子邮件地址设置为会话变量,如下所示:

$_SESSION['buyer_email'] = $_POST['email'];

但是,我提交给数据库的所有数据都使用PDO,在提交之前对其进行了清理,所以我的问题是:

以上代码行是否可以安全使用?它没有被消毒过,虽然我无法想到任何关于这个直接POST的任何方式 - >会话可以被操纵吗?

使用PDO提交数据然后从数据库中检索电子邮件并将返回的值设置为会话变量或者这是否过度且不必要会更好吗?

1 个答案:

答案 0 :(得分:4)

我假设您要使用$_SESSION['buyer_email'] - 就像显示它一样。为了避免诸如跨站点脚本等问题,你应该总是将其转义然后使用它。