この知恵ノートを「知恵コレクション」に追加しました。
追加した知恵ノートはMy知恵袋の「知恵コレクション」ページで確認できます。
「知恵コレクション」に登録済みです。
再登録しました。
追加に失敗しました。
ノートに戻り、もう一度やり直してください。
すでに1,000件のノートが登録されています。
新しく追加したい場合は、My知恵袋の「知恵コレクション」ページで登録されているノートを削除してください。
追加できませんでした。
ノートは削除されました。
知恵コレに追加する:0人
『知恵コインが0枚でも回答リクエストはできる!!!!』のコードに不備があるので直した
ライター:rank_0utさん(最終更新日時:1時間以内)投稿日:1時間以内 アドバイス受付中!
- お役立ち度:0点(5点満点中)
0人
- 閲覧数:0
cyber_barrier_dragon2013さんの『知恵コインが0枚でも回答リクエストはできる!!!!』を読んでみたところ、コードに不備があるので修正してみようと思う。
■ 不備の部分
cyber_barrier_dragon2013さんが記述したコードは以下の通り。
『知恵コインが0枚でも回答リクエストはできる!!!!』のコード
「javascript:document.post.req_ans_flg.value=1;document.post.request_type.value=2;document.post.innerHTML+="<input type=hidden name=request_age value=0><input type=hidden name=request_gen value=1><div class="qa-editing"><span class="qa-submit"><input type=submit name=submit value=ドグマガイ></span></div>";」
(閲覧日時:2012/3/11 10:05)コードに改行を入れてみる
- javascript:
- document.post.req_ans_flg.value=1;
- document.post.request_type.value=2;
- document.post.innerHTML+="
- <input type=hidden name=request_age value=0>
- <input type=hidden name=request_gen value=1>
- <div class="qa-editing">
- <span class="qa-submit">
- <input type=submit name=submit value=ドグマガイ>
- </span>
- </div>";
5行目、6行目、そして9行目にも、HTMLタグレベルの不備がある。inputタグのtypeの値が括られていなかったり、submitの値が括られていなかったりと、ケアレスミスが相次いでいる。IEのような誤魔化しの通じるブラウザならこれでも通用するだろうが、FireFoxやoperaなどのようなブラウザでは通用しないだろう。
注意
- 案の定http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1083193005などのように、FireFoxでは起動しないという報告が為されている。
ついでに見栄えとして言えば、このコード全体をfunction()の内部に記述するべきだっただろう。そうしないと、特にIE以外のブラウザでは画面のデザインが崩れる。というより、そうしないとIE以外のブラウザで起動させるのが難しくなるだろう。
■ 修正したコード
そんな訳で、私が発見した不備は全て以下の通りに修正しておいた。
修正したコード
- javascript:(function(){document.post.req_ans_flg.value=1;document.post.request_type.value=2;document.post.innerHTML+='<input type="hidden" name="request_age" value="0"><input type="hidden" name="request_gen" value="1"><div class="qa-editing"><span class="qa-submit"><input type="submit" name="submit" value="回答リクエスト" /></span></div>';})();
改行を入れてみると
- javascript:( function(){ document.post.req_ans_flg.value=1; document.post.request_type.value=2; document.post.innerHTML+=' <input type="hidden" name="request_age" value="0"> <input type="hidden" name="request_gen" value="1"> <div class="qa-editing"> <span class="qa-submit"> <input type="submit" name="submit" value="回答リクエスト" /> </span> </div>'; })();
■ 最後に
このブックマークレットは、質問を投稿した段階に、PHP側あるいはデータベース側で知恵コインの有無を識別する処理が実行されるようになると、無効になる。
私には与り知らぬことだが、こうしたシステムの盲点を突く「裏技」に対してモラルの観点から非難して問い合わせる連中もいるので、このブックマークレットは短命かもしれない。
このノートは役に立ちましたか?
役に立った!0人が役に立つと評価しています。
アドバイス(このノートのライターへのメッセージ)を送る
このノートはどうでしたか? いいと思ったことや、こうしたらもっとよくなるといったメッセージを送りましょう! ノートの内容やライターについて質問がある場合は、Q&Aから質問してみましょう
アドバイスを送るには、
Yahoo! JAPAN IDでのログインおよび
Yahoo!知恵袋の利用登録が必要です。
感想アドバイス履歴
-
現在アドバイスはありません
このノートに関するQ&A
このノートに関するQ&Aは、まだありません。