[
自宅サーバーWebRing
┃
前
|ID=54
前後5表示
|
次
┃
乱移動
|
サイト一覧
]
このサイト内
書籍 DVD CD
Google(日本語)
Google(Web全体)
Google(イメージ)
Google(キャッシュ)
Yahoo! JAPAN
goo 英和
goo 和英
goo 国語
goo 新語
サイトマップ
リンク集
ダウンロード
フォーラム
Users Wiki
最新情報
TOP
»
UsersWiki
»
nao-pon
»
blog
» 2006-06-30のソース
|
一覧
検索
最新
ヘルプ
ページへ戻る
履歴
リンク元
印刷
XSS クロスサイトスプリクティング
のソース
UsersWiki
:
nao-pon
/
blog
/
2006-06-30
のソース
差分
を表示
nao-pon/blog/2006-06-30
へ行く。
« Prev
** XSS クロスサイトスプリクティング [#t05b5d68] #keyword() RIGHT:&tag(ネット,プログラミング); JavaScript を使った動的なサイトページ作成方法の中に、Ajax を利用してサーバーと通信を行い、随時ページ内容を書き換える方法がありますが、ひとつ難点があります。閲覧中のページ同じドメインのサーバーからしかデータを受け取れないということです。 そこで、別ドメインのサーバーから随時データを受け取りたい場合は、<script>タグを動的に書き換えることで、それが可能になります。 そこで、面白いことを思いつきました。 [[YouTube NAVI:http://youtube.navi-gate.org/]] という YouTube API を利用するサイトを運営中ですが、その検索タグをリアルタイムで表示できるような仕組みを考えてみました。 #code(){{{ <script id="youtube_navi_js" src="http://youtube.navi-gate.org/js/tags.js" type="text/javascript" charset="UTF-8"></script> }}} 任意のページにこのHTMLを貼り付けると、リアルタイムで検索タグが表示されます。 こんな感じです。現状は5秒ごとに内容が更新されます。 :) #html(youtube_navi_tags) もちろんローカルに置いたHTMLでもOKです。 :D ***仕掛け [#xd148435] 上記の HTML から呼び出される JavaScript tags.js は次のような感じです。 #code(){{{ (function(){ var elm; if (! (elm = document.getElementById('youtube_navi_tags'))) { var scr = document.getElementById('youtube_navi_js'); elm = document.createElement('span'); elm.id = 'youtube_navi_tags'; elm.className = 'youtube_navi_tags'; scr.parentNode.insertBefore(elm,scr); } elm.innerHTML = "この部分にタグのHTMLが入ります"; setTimeout(function(){ var scr; if (scr = document.getElementById('youtube_navi_js')){scr.parentNode.removeChild(scr);} scr = document.createElement('script'); scr.id = 'youtube_navi_js'; scr.src = 'http://youtube.navi-gate.org/js/tags.js'; scr.setAttribute('type','text/javascript'); scr.setAttribute('charset','UTF-8'); document.body.insertBefore(scr,document.body.firstChild); },5000); })(); }}} 変数汚染をしないように、無名関数に閉じ込めてあります。 +タグのHTMLを表示するコンテナ <span id="youtube_navi_tags"></span> がなければ この <script> の直前に作成 +id="youtube_navi_tags" の <span> の内容を書き換え。 +5秒後に自分自身を書き換え たったこれだけです。~ 肝心の tags.js は、PHP にて随時書き換えを行っています。 ただ、ブラウザが IE の場合は、タイムスタンプが変わってもキャッシュが有効のままで書き換わらないため、.htaccess に次のような記述をしてキャッシュコントロールを行っています。 #code(){{{ <Files tags.js> Header add "Expires" "Thu, 01 Dec 1994 16:00:00 GMT" Header add "Pragma" "no-cache" Header add "Cache-Control" "no-cache" </Files> }}} 思いのほか、すっきりとできちゃいました。 :p ---- タグは100件保存しているので、100件表示バージョンも作ってみました。 #code(){{{ <script id="youtube_navi_js100" src="http://youtube.navi-gate.org/js/tags100.js" type="text/javascript" charset="UTF-8"></script> }}} #html(youtube_navi_tags100) ---- #comment(,btn:つっこみ) ----
« Prev
nao-pon/blog/2006-06-30 のバックアップ一覧
nao-pon/blog/2006-06-30 のバックアップソース(No. All)
1: 2006-06-30 (金) 09:57:27
2: 2006-06-30 (金) 18:04:57
3: 2006-07-01 (土) 02:26:47
4: 2006-06-30 (金) 09:04:57
nao-pon
現: 2006-06-30 (金) 09:04:57
nao-pon
ぺージ情報
ぺージ名 :
nao-pon/blog/2006-06-30
ページ別名 :
未設定
ページオーナー :
nao-pon
閲覧可
グループ :
すべての訪問者
ユーザー :
すべての訪問者
編集可
グループ :
なし
ユーザー :
ゲスト
Counter: 327, today: 1, yesterday: 0
メインメニュー
ホーム
価格比較 百貨
UsersWiki
新規ページ作成
最新ページ一覧
全ページ一覧
全コメント一覧
ヘルプ
» 関連ページ
» 記述を見る
» 変更点を見る
» バックアップ一覧
» 添付ファイル一覧
» リンク元一覧
xpwiki
お問い合わせ
ファイルマネージャー
ログイン
ユーザー名:
パスワード:
パスワード紛失
|
新規登録
最近の更新
最新の20件
2023-05-14
nao-pon
/
gmap + gmap_street + gmap_insertmarker
nao-pon
/
googlemaps2
2023-03-22
PublicBlog
/
The Importance of QFP in PCB
2023-02-28
FrontPage
/
PCB terminology you must know
2023-01-20
nao-pon
/
blog
/
ESP8266 を壊してしまいました しかも続けて2回も
2022-09-22
nao-pon
/
blog
/
ESP32 + ESPHome の Bluetooth Proxy で SwitchBot Mater
2022-08-26
nao-pon
/
blog
/
独自ビルドの Tasmota を 12.1.1 へ
2022-08-19
nao-pon
/
blog
/
Zigbee + ZHA のメモ書き
2022-01-17
nao-pon
/
blog
/
HomeAssistant 統合の Tasmota-IRHVAC に貢献
2021-08-03
nao-pon
/
ファイル置き場
/
スペースサワダ
2021-07-01
nao-pon
/
blog
/
HomeAssistant 統合の Tasmota-IRHVAC の不具合修正
2021-06-20
nao-pon
/
blog
/
Tasmota を 9.4.0 から 9.5.0 へアップデート
2021-06-15
nao-pon
/
blog
/
ミンティア[MINTIA] で WiFi 6ボタンスイッチを作った
2021-04-27
PublicBlog
2021-03-17
nao-pon
/
blog
/
SwitchBot 温湿度計を ESP32 でモニタリング
2021-03-13
nao-pon
/
blog
/
東芝エアコンのエントリーモデルもWiFi化
2021-02-23
risoulaser
2021-02-18
nao-pon
/
blog
/
Panasonic (ナショナル) エアコンの 2008 年モデルも WiFi 化
2021-02-15
nao-pon
/
blog
/
Tasmota で HA 端子(JEM-A) 連携
2021-02-07
nao-pon
/
blog
/
Tasmota で三菱エアコンを完全コントロール
オンライン状況
382 人のユーザが現在オンラインです。 (12 人のユーザが UsersWiki を参照しています。)
登録ユーザ: 0
ゲスト: 382
もっと...
サイト情報