トップページはこちら

PCサイト->携帯変換 0.9.9リリース

なにやら頻繁にバージョンアップしてやがってすいません。毎回「更新してください」とかお願いしときながらこのテイタラクなわけで、リアルで心苦しい限りでございます。例によって、バージョンアップの手順などはリリースメモ/変更履歴でどーぞ。

さて今回の不具合修正は。
アクセス先のページのフォームで、「<input name=".hoge"~」のように、NAME属性値がドット記号を含む場合、$_GETや$_POSTなどの、これを受け取るPHPの連想配列の添え字では、ドットが自動的にアンダースコアに変換されるわけですが、これをアンダースコアのまま(ドットに戻さず)送信していたという不具合を、「暫定的に」修正しました。なにが暫定的かというと、「.hoge」とか「.hoge.hoge」はいんですが、「.hoge_hoge」のように、ドットとアンダースコアが混在しやがる場合には対応できてないので。つうか、そんなイヤスなフォームは果たして実在するのか?

で、これはcookieによる認証などについて、yahooやgooのログインなど、これまで対応できていなかったものの解決策を、掲示板で開催されていたスパルタ塾にて、ネ申がご教示くださったのですが、その一環で判明したものです(とは言え、「認証とかセッションとか知らんし」というかたにも決して無用なものではありませんので、念のため)。

さて、yahooやgooのログインなどにも対応されたい場合は、このスクリプトのバージョンアップとともに、PEARのHTTP_ClientのCookieManagerを修正いただく必要があります。pearpack.zipに含まれるCookieManager(HTTP/Client/CookieManager.php)は、必要と思われる修正を施したものになってますんで、その内容を参考に適宜修正してみてください。
なお、余計なことに、ここに含まれるCookieManager(とClient)はCVS版のものとなってますんで、ご注意ください。

なお、今回のバージョン番号は「0.9.9」ですが、次は「1.0」なわけはなく、「0.9.10」となる腹積もりでございます。


2006/03/06

トラックバック

このエントリーのトラックバックURL:
http://www.rcdtokyo.com/mt/mt-rcdtokyo5428-tb.cgi/717

コメント

はじめまして、まさといいます。

PC用に作成したページを、携帯変換スクリプトを通して使用しようと試してみたのですが、外部のWEBサイトのリンクを、変換スクリプトを通さないで直接参照するようにしたいのですが、できますか?

よろしくお願いします。

Posted by まささん at 2006/03/17 14:57

サイト内へのリンクはそのままで、“外部のみ”素通しにしたいということですよね?
改造いただくとすると、pc2m.phpの(v0.9.9では1408行目)「if (!preg_match('/^https?:\/\//', $_url)) {」とある行の直前に、以下のようなコードを挿入してみてください。

if (!strpos($_url, 'www.example.com/example/')) {
return $_url;
}

この例では、(http://から始まる絶対パスに変換後の)リンクアドレスが「www.example.com/example/」という文字列を“含まない”場合は素通しになります。この部分をご自身のサイトに応じたものに変更いただければよろしいかと。

もし、サイトの内外という区分ではなく、リンクごとに選り分けたいというご要望でしたら、そのような仕様の追加を検討させていただきます(変換時に除去してしまう部分を「<!--pc2m_void-->」で括っていただいているように、HTML側で、Aタグになんらかの目印を付けておいていただく、という仕様になると思います)。

なお、これを実施される場合はセッション機能は無効にされることをお勧めします(Config.inc.phpで「define('ENABLE_SESSION', false);」)。これは、セッションを有効にしてアクセスしている端末が「素通し」リンクを踏んで外部サイトに移動した場合、EZwebのようにRefererを送信する端末では、その外部サイトに、セッションIDを含むURLがRefererとして送信されるわけで、そうするとその外部サイトの管理者は、そこで利用されていたセッションIDを知り得るので、セキュリティ上の問題が発生する可能性があるためです。
この部分、現在あれこれ改良思案中なのですが、いずれにせよ万全にはできないので、不特定の利用者が想定される場合は、念のためお願いできればと。

Posted by ucbさん at 2006/03/17 18:13

対応ありがとうございます。
意図したとおりにできました。

リンクごとに選り分ける事も将来のVerで対応していただけると助かります。

Posted by まささん at 2006/03/27 01:18

> リンクごとの振り分け

単純に、目印に「なに」を使うかが問題だったりして。

Aタグの既成の属性を使うとなると、relを使って「<p><a href="hoge.html" rel="pc2m_void">hgoe</a></p>」のようにするのが手っ取り早いわけですが、もちろん「nofollow」や「next」などを設定する必要がある場合もあるわけで、重複するわけにもいかないぞ、と(とはいえ、そもそもこの属性は、みんな勝手な使い方を既にしてるわけですが)。
一方、iモードの「utn」のような、勝手な属性を発明してしまうと、validなHTMLではなくなってしまうし。
他との重複があり得ない、現実的な路線は「<p><!--pc2m_void_proxytrans--><a href="hoge.html">hgoe</a></p>」のように、Aタグの前後にコメントを用意することですが、これはあまりにも美しくない罠。

さてなにがいいやら。
アイデア募集中です。

以下ひとりごと。
ところで、現在の「pc2m_void」の逆、つまり変換したとき“だけ”表示する(コメント)ブロックって必要なのかしら?CSSで非表示にしとけばいいわけで、わざわざ用意する必要はないかな。

Posted by ucbさん at 2006/03/27 14:58

もはやこんなところは見ておられないと思いますが、律儀にレスしてみるテスツ。

ちょっと本来のご要望とは違いますが、リンクだけじゃなくてなんでもとにかく、「ここはいじるな」という箇所を指定できるようにしてみますた。
詳しくは、以下の「ページの任意の箇所を変換対象外とする」をご覧ください。
http://www.rcdtokyo.com/pc2m/note/archives/i000050.php

Posted by ucbさん at 2006/04/15 00:06

コメントをどうぞ



保存しますか?