我们的(PHP)框架有时会渲染值为YTowOnt9的隐藏输入。我在(巨大的)代码库中的任何地方都找不到该字符串,也无法弄清楚它的来源。我决定使用Google的特定字符串,结果令我感到惊讶。超过一百万(随机)点击。我还没有找到任何描述值本身的页面。堆栈溢出命中率为0。

YTowOnt9是某种魔术弦吗?

评论

值始终相同?如果是随机的,我会说它可能是CSRF令牌或类似的东西。

始终相同的值;这个完全相同的值在Google上有500.000次点击。

它看起来像盐或令牌的东西。它总是相同的字符串吗?即使注销并删除Cookie /缓存或使用其他浏览器?

您正在使用什么PHP框架?

这是一个自定义框架,请注意以下事实:该字符串在Google上发生了数十万次。

#1 楼

它似乎是一个PHP序列化的空数组,以64为基数编码。

$ base64 -D <<< 'YTowOnt9'
a:0:{}
$ php -r 'var_dump(unserialize(base64_decode("YTowOnt9")));'
array(0) {
}


有很多脚本可以序列化数据数组。当数组中有数据时,它们之间会有很大差异,因此Base64编码的PHP序列化值也是如此,但是当它们为空时,它们都是相同的。它看起来好像很多非常不同的PHP脚本都具有这个随机字符串。

评论


YTowOnt9 = a:0:{}

– Tim S.
2014年4月22日在18:35

@kojiro你到底是怎么得到这个答案的?您是否只是想过“哦,我将尝试在base64中对它进行反序列化,所以我感觉就那样了!” ?请详细说明 !:)

–千
2014年4月23日在6:47



我凝视了一下,试图重新排列我脑海中的字母。然后我突然意识到奇数大写使我想起了64基数。于是我尝试了一下,就很幸运。

– kojiro
2014年4月23日在11:17

@AdrianFrühwirthGNU的base64使用-d表示解码,因此在您的情况下,可能是的。答案的作者很可能在OS X上使用-D进行解码。可移植性很难。 :-)

–Thanatos
14-4-23在16:38



@kojiro,由于输出文本始终比输入大33%,因此我不确定将base64称为“压缩”(甚至不是“非常差的压缩”)是否有意义。

– tobyink
2014年4月24日在22:31