\添加不应该添加的字符b

2024-10-01 11:23:08 发布

您现在位置:Python中文网/ 问答频道 /正文

菲律宾比索:

$var = "Sum Random'z String"s with quotemarks"
$send = base64_encode($var)

然后它将base64编码的字符串发送到服务器。你知道吗

服务器部件(Python)尝试解码base64编码的内容并将其写入文件:

f = open("/root/data.yml","w")
f.write(base64.b64decode(sys.argv[1]))
f.close()

你知道吗系统argv[1] 是$send吗

然而,当我打开数据.yml在nanocat中,我得到:

Sum Random\'z String\"s with quotemarks

我不想在那里。 当我在nanocat中打开字符时,是否有办法使\character不会出现在那里?我该换什么? 编辑: $var取自没有\


Tags: 服务器send编码stringnanovarymlwith
3条回答

你不需要逃避单引号和双引号。您只需要转义引用字符串的内容(即"

$var = "Sum Random'z String\"s with quotemarks";

这可能不是你唯一的问题。但这也是问题的一部分。你知道吗

更新

根据使用表单textarea中的数据设置的$var更新,您需要查看stripslashes()

我觉得这辆车不错。我敢打赌一定有某种安全机制在你背后躲避危险人物。你知道吗

您可以使用python中的stripslashes来自己取消它们的显示。你知道吗

我认为这里的问题是,转义一个不需要转义的字符,双qout中的单qout不需要转义,反之亦然。你知道吗

示例:

OK; " ' "
OK; ' " '
NO; ' ' '
OK; ' \' '
NO; " " "
OK; " \" "

尝试执行以下操作:

$var = 'Sum Random\'z String"s with quotemarks';
$send = base64_encode($var);

编辑:您从未说过任何来自文本区域的信息,请尝试在编码之前对值运行stripslashes。你知道吗

相关问题 更多 >