如果一些cookie是通过javascript创建的,如何使用PHP进行检查?

如果一些cookie是通过javascript创建的,如何使用PHP进行检查?,javascript,php,cookies,Javascript,Php,Cookies,我希望我的PHP代码能够区分JavaScript(使用document.cookie)和PHP(使用setcookie())创建的cookie 让我们假设以下伪代码:- <?php $X = $_COOKIE['X']; if($X_COOKIE_IS_SET_BY_PHP) // ALL IS GOOD else if($X_COOKIE_IS_SET_BY_JAVASCRIPT) // SET A COOKIE USING PHP ?&g

我希望我的PHP代码能够区分JavaScript(使用
document.cookie
)和PHP(使用
setcookie()
)创建的cookie

让我们假设以下伪代码:-

<?php

   $X = $_COOKIE['X'];

   if($X_COOKIE_IS_SET_BY_PHP)
      // ALL IS GOOD
   else if($X_COOKIE_IS_SET_BY_JAVASCRIPT)
      // SET A COOKIE USING PHP

?>


没有区别。饼干就是饼干

唯一的方法(尽管非常不可靠)是在会话中记住是否从PHP设置cookie。如果不是,那么它可能是从JavaScript设置的。但就像我说的,这是不可靠的。cookie可能是在前面的会话中从PHP设置的,或者有人可能手动处理了cookie


我认为最好的方法是完全使用会话变量。会话在服务器上保留前导值。如果你也需要JavaScript中的值,你可以设置一个cookie,或者在一个小脚本中添加值,但是在PHP中你根本不会读回cookie值,只需在服务器上使用会话值,并在每个请求上重置cookie,这样客户端也知道该值。

没有区别。饼干就是饼干

唯一的方法(尽管非常不可靠)是在会话中记住是否从PHP设置cookie。如果不是,那么它可能是从JavaScript设置的。但就像我说的,这是不可靠的。cookie可能是在前面的会话中从PHP设置的,或者有人可能手动处理了cookie


我认为最好的方法是完全使用会话变量。会话在服务器上保留前导值。如果您也需要JavaScript中的值,您可以设置cookie,或者在一个小脚本中添加该值,但在PHP中,您根本不会读回cookie值,只需在服务器上使用会话值,并在每次请求时重置cookie,以便客户端也知道该值。

cookie不是存储在服务器端的东西。它是存储在用户计算机/浏览器中的一段数据。当您在PHP中使用
setcookie()
时,服务器将发送带有浏览器存储在用户计算机中的标题的cookie(浏览器将其与下一个请求一起发回)。cookie的存储位置与
document.cookie
的存储位置相同。因此,在存储之后,我们无法区分它是由PHP还是Javascript存储的,因为没有记录相关信息

Cookie不是存储在服务器端的东西。它是存储在用户计算机/浏览器中的一段数据。当您在PHP中使用
setcookie()
时,服务器将发送带有浏览器存储在用户计算机中的标题的cookie(浏览器将其与下一个请求一起发回)。cookie的存储位置与
document.cookie
的存储位置相同。因此,在存储之后,我们无法区分它是由PHP还是Javascript存储的,因为没有记录相关信息

没有区别。cookie就是cookie。只需将PHP设置的cookie名称+值存储在数据库中(无论如何,您都应该这样做)。任何不在数据库中的cookie变量都不是由PHP生成的,没有区别。cookie就是cookie。只需将PHP设置的cookie名称+值存储在数据库中(无论如何,您都应该这样做)。数据库中没有的任何cookie变量都不是由PHP生成的。