- PR -

ワイルドカード(%)

投稿者投稿内容
ryutak
会議室デビュー日: 2004/08/19
投稿数: 11
投稿日時: 2004-08-20 14:01
引用:

okutinさんの書き込み (2004-08-20 13:47) より:
こんにちは。
.NETのことはよく分からないのですが

引用:

ryutaさんの書き込み (2004-08-20 13:07) より:

アドバイスくださった内容は具体的にどうしたらいいのか自分には理解できませんが、そういう方法もあることがわかりためになりました。
今回に限っては%を付加する位置(きっとご指摘の部分と多少関連があるのかと思いますが)を変更することにより回避いたしました。今後ともアドバイスお願いいたします。



本当にこの回避方法でよいのでしょうか?
正しくURLエンコードをやっておかないと今後また同じような問題に遭遇しそうな気がするのですが。
まあ、扱う文字列が半角英数字だけというのなら問題ないのですけど。



okutinさんこんにちは。

>本当にこの回避方法でよいのでしょうか?
>正しくURLエンコードをやっておかないと今後また同じような問題に遭遇しそうな気が>するのですが。
>まあ、扱う文字列が半角英数字だけというのなら問題ないのですけど。
⇒確かにその通りです。現状とりあえずなので、いずれエンコードしたいと思います。
具体的な方法が記載されている過去ログや資料があれば教えてください。あるいは簡単に掲載できる内容ならお願いいたします。
ちなみにweb.configあたりを修正するなどでしょうか?
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2004-08-20 14:50
引用:

ryutaさんの書き込み (2004-08-20 14:01) より:

>本当にこの回避方法でよいのでしょうか?
>正しくURLエンコードをやっておかないと今後また同じような問題に遭遇しそうな気が>するのですが。
>まあ、扱う文字列が半角英数字だけというのなら問題ないのですけど。
⇒確かにその通りです。現状とりあえずなので、いずれエンコードしたいと思います。
具体的な方法が記載されている過去ログや資料があれば教えてください。あるいは簡単に掲載できる内容ならお願いいたします。
ちなみにweb.configあたりを修正するなどでしょうか?



既に、よねKENさんが

引用:

検索文字列に前後%を付けたものをページ間で引き渡していないですか?
ページ間でのデータ引渡しをする場合、そのデータをHttpUtilityクラスのUrlEncodeしておく必要があると思います。



と適切な回答をされていると思いますが・・・。
_________________
「伝える」とは「人に云う」と書く。
http://d.hatena.ne.jp/NAL-6295/
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-08-20 15:00
う〜ん、手順が見えませんねぇ。。。

 単にformに入力されたデータの提出を受けて、検索して、結果を返信しているだけなら、おそらく文字化けはしないでしょう。ただ、Linux環境からアクセスした場合にどうなるか、気になります。

#JavaでWebアプリを作っているのですが、WindowsからはShift-JISで、
#LinuxからはEUC-JPで送られてきました。

 どのような手順で、ユーザが入力したものが、検索文字列として使われるのでしょう?
ryutak
会議室デビュー日: 2004/08/19
投稿数: 11
投稿日時: 2004-08-20 15:46
引用:

Jittaさんの書き込み (2004-08-20 15:00) より:
う〜ん、手順が見えませんねぇ。。。

 単にformに入力されたデータの提出を受けて、検索して、結果を返信しているだけなら、おそらく文字化けはしないでしょう。ただ、Linux環境からアクセスした場合にどうなるか、気になります。

#JavaでWebアプリを作っているのですが、WindowsからはShift-JISで、
#LinuxからはEUC-JPで送られてきました。

 どのような手順で、ユーザが入力したものが、検索文字列として使われるのでしょう?


⇒NAL-6295さん
HttpUtility.UrlEncode()を使用するというのは調べてみてわかりましたが、使用方法などがまだ理解できていません。なるべく自力で調べたいとは思っています。アドバイスしていただけらば幸いです。
⇒Jittaさん
Q.どのような手順で、ユーザが入力したものが、検索文字列として使われるのでしょう?
A.この質問に対する自分なりの解釈でお答えしますが、

@formからテキスト入力されたものを別関数(別フォームの裏で動いている)へ渡します。Response.Write(入力された複数テキスト))

A受け取った関数側でパラメータを条件にSQLアダプターへSELECT文をなげます。

Aの時点で文字化けを確認しました。ただ修正してしまって、@の時点で化けていたか不明です。
このお答えでよろしかったでしょうか?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-08-20 16:46
引用:

ryutaさんの書き込み (2004-08-20 15:46) より:

Q.どのような手順で、ユーザが入力したものが、検索文字列として使われるのでしょう?
A.この質問に対する自分なりの解釈でお答えしますが、

@formからテキスト入力されたものを別関数(別フォームの裏で動いている)へ渡します。Response.Write(入力された複数テキスト))

A受け取った関数側でパラメータを条件にSQLアダプターへSELECT文をなげます。


 はい、原因がはっきりしました。1の時点では化けていません。1〜2の間で化けます。


 ちなみに、Response.Writeメソッドを用いると、HTMLの書式が崩れます。崩れるというか、最上位であるべきHTML要素の上に文字が書かれ、HTMLファイルでなくなります(厳密には)。


 ところで、開発中のシステムはどのようなシステムで、どのような使われ方をするものでしょうか。もし、重要な情報、例えば個人情報や企業の仕事に関する情報が流れるのであれば、初心者2人で扱ってよいものではないと思います。入力欄に「<object...」とか入力されたら・・・そういうセキュリティ面で、とても弱いものになってしまいます。今回の問題は、その1つです。
ryutak
会議室デビュー日: 2004/08/19
投稿数: 11
投稿日時: 2004-08-20 20:13
引用:

Jittaさんの書き込み (2004-08-20 16:46) より:
引用:

ryutaさんの書き込み (2004-08-20 15:46) より:

Q.どのような手順で、ユーザが入力したものが、検索文字列として使われるのでしょう?
A.この質問に対する自分なりの解釈でお答えしますが、

@formからテキスト入力されたものを別関数(別フォームの裏で動いている)へ渡します。Response.Write(入力された複数テキスト))

A受け取った関数側でパラメータを条件にSQLアダプターへSELECT文をなげます。


 はい、原因がはっきりしました。1の時点では化けていません。1〜2の間で化けます。


 ちなみに、Response.Writeメソッドを用いると、HTMLの書式が崩れます。崩れるというか、最上位であるべきHTML要素の上に文字が書かれ、HTMLファイルでなくなります(厳密には)。


 ところで、開発中のシステムはどのようなシステムで、どのような使われ方をするものでしょうか。もし、重要な情報、例えば個人情報や企業の仕事に関する情報が流れるのであれば、初心者2人で扱ってよいものではないと思います。入力欄に「<object...」とか入力されたら・・・そういうセキュリティ面で、とても弱いものになってしまいます。今回の問題は、その1つです。


まずは私の答えが検討違いでなかったことでホッとしました。
が、最後にご指摘のあった部分は非常に気になります。これはWEBアプリが破壊されるのは無論、データベース側にも影響があるということなのでしょうか?今は検索機能だけですが、いずれ更新機能も設けようと思っております。
ただし、社内(ご指摘のあったとおり社内システムです。しかもわりと重要な情報を扱っております。)のみの運用で、ある課内の信用のおける方々のみ閲覧、更新を可能にする方向です。といって作りの問題があるならばいずれシステムに障害が起こることは間違いないのでしょう・・・。
今後のために何か回避策(具体的には違うメソッドでの記述方法など)があればアドバイス願いたと思います。
このあとお返事できるのは来週の月曜になると思います。すみませんがよろしくお願いいたします。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2004-08-20 20:39
NAL-6295です。

http://www.microsoft.com/japan/info/press/JPN_ViewMsPress.asp?Book_id=966&list_id=1
http://www.microsoft.com/japan/info/press/JPN_ViewMsPress.asp?Book_id=967&list_id=1
http://www.microsoft.com/japan/info/press/JPN_ViewMsPress.asp?Book_id=968&list_id=1

.NETエンタープライズWebアプリケーション開発技術大全 Vol.1,2,3
上記3冊を読まれると良いかもしれません。
よねKEN
ぬし
会議室デビュー日: 2003/08/23
投稿数: 472
投稿日時: 2004-08-20 20:43
引用:

ryutaさんの書き込み (2004-08-20 20:13) より:
ただし、社内(ご指摘のあったとおり社内システムです。しかもわりと重要な情報を扱っております。)のみの運用で、ある課内の信用のおける方々のみ閲覧、更新を可能にする方向です。といって作りの問題があるならばいずれシステムに障害が起こることは間違いないのでしょう・・・。
今後のために何か回避策(具体的には違うメソッドでの記述方法など)があればアドバイス願いたと思います。



この@ITで「クロスサイトスクリプティング」で検索してもらえば、
問題点、解決方法等の情報に辿りつけると思います。

社内システムとのことなので当面はそれほど問題にはならないかもしれませんが、
扱う情報が重要度の高いものとのことなのでセキュリティはきちんとする必要があるでしょう。
今は社内からの情報流出なんてのも話題になったりするので、
社内システムでもあまりいい加減な作りにしておくと会社を揺るがす大きな問題に
繋がる可能性がありますので、システム開発者はその辺を意識しておく必要があります。

質問内容から判断して、Webアプリの動作の仕組みをご存知ないように思われますので、
まずはWebアプリがどういう仕組みで動くものなのかという当たりの基本から
一度きちんと勉強された方がよいと思います。

スキルアップ/キャリアアップ(JOB@IT)