update_ping.inc.php Edit

概要 Edit

  • 更新ping(update ping)を送信するコマンドプラグイン
  • XML-RPC weblogUpdates.pingの実装

関連 Edit

参考 Edit


開発メモ Edit

画面遷移(案) Edit

  1. 管理者パスワード認証
  2. update ping送信先の選択(リスト+任意追加)
    • checkboxでping serverを複数選択
    • textareaで任意のping server を追記
    • 送信
  3. 送信結果 兼 前画面と同等
    • 送信結果の表示
  • 1で認証したアクセスを2及び3の画面でも継続しなければならない。
    • セッション処理を行う
    • hiddenで$adminpassを持ってまわる(簡単!)
      • 暗号化(ハッシュ)後の$adminpassと言えど,そのままformにhiddenで埋め込むのは気持ちが悪いので細工(端末固有情報で再暗号化)する。

制約/前提条件 Edit

  • PHP関連
  • PukiWiki本体
    • pukiwiki.skin.phpで
      <link rel="alternate" type="application/rss+xml" title="RSS"
        href="<?php echo $link['rss'] ?>" />
      が必ず出力されていなければならない。
      • ping後に来るクローラーがRSSのURLを自動検知し,更新エントリを取得するため
    • pukiwiki.ini.phpの$trackbackは0のままでも良い?

PukiWiki本体の利用 Edit

GPLである本体をmodification(改変)し再利用する

  • lib/auth.php, v 1.19 2005/06/13 14:02:07 henoheno
    • function pkwk_login
    • function pkwk_hash_compute
      hiddenで持ちまわる$adminpassの細工(再暗号化)に改変し用いる。
  • lib/proxy.php, v 1.9 2005/06/28 14:03:29 henoheno
    • function http_request
      かなりそのまま使いたい。。。が,methodがPOSTの場合,TrackBack ping用に最適化されているため利用できない。TrackBack ping用として「Content-Type: application/x-www-form-urlencoded」となっているが,weblogUpdates.pingでは「Content-Type: text/xml」としなければならない。proxy.phpをハックしたい気持ちを抑えて,function http_requestの改変版を用いる。

送信メッセージ Edit

POST *1 HTTP/1.0
User-Agent: *2
Host: *3
Content-Type: text/xml
Content-length: *4

<?xml version="1.0"?>
<methodCall>
<methodName>weblogUpdates.ping</methodName>
<params>
<param>
<value>$page_title *5</value>
</param>
<param>
<value>$script *6</value>
</param>
</params>
</methodCall>

todo Edit

コメント Edit







トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 下位頁新規  一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-02-21 Sun 22:41:13 JST (3557d)
Valid XHTML 1.1 Valid CSS