我想创建 html 代码并将其保存到文件中,所以我想使用 PHP 来创建文件。现在,我有一个问题,我可以将包含html代码的Javascript cookie传递给php cookie。我该如何解决?谢谢。
function save()
{
fcookie='testing';
var test = $("body").html();
document.cookie=fcookie+"=" + test;
}
<?php
if (isset($_COOKIE["testing"]);
$file_name = 'index.php';
fopen($file_name, "w");
file_put_contents($file_name, $_COOKIE["testing"]);
?>
您正在将 cookie 的值设置为正文元素的内容。这很可能包括会破坏 cookie 的字符(例如换行符)。
注意:用"foo"
替换test
会产生工作代码,而'nfoo"
则不会。
您必须对数据进行编码以删除任何具有特殊含义或禁止使用的字符。MDN 使用的方法是在生成 cookie 字符串时通过encodeURIComponent
传递数据。
document.cookie = encodeURIComponent(fcookie) + "=" + encodeURIComponent(test);
请注意,HTML 文档通常很长,因此您也可以通过在一个文档中包含该数量的数据来超出 Cookie 的长度限制。