==ASP== Part 2
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/07/30 19:28ID:FEU9c2CH前スレはこっち
http://pc.2ch.net/test/read.cgi/php/984840107/
0206nobodyさん
02/09/20 02:56ID:Kzr+SoWvhttp://pc.2ch.net/test/read.cgi/php/1028024916/l50
0207202
02/09/20 07:03ID:SQgl7jOqユーザーの情報も格納していますので、クッキーだとばればれなので出来れば使いたくないのですが。
0208nobodyさん
02/09/20 07:32ID:Yuxe+ABB暗号化して保存<クッキー
0209202
02/09/20 08:33ID:SQgl7jOqそこまで別の方法を提案すると言う事は、消えてしまうのが当たり前って事ですか?
複雑な事はしたくないのが本音なんですが、出来ないならしょうがないですよね。
0211わ
02/09/20 09:07ID:???フレームだからね。
解決方法はhiddenか、session。
クッキーはSession自体がクッキーを利用している以上同じ。
永続的に残ってしまったり、毎リクエストごとに送ったり、CSS脆弱性で横取りされる危険性を考えると
Session以外の最適解は無い。
0212202
02/09/20 09:18ID:SQgl7jOqhiddenとは、<Input Type=hidden Name=XXX Value=XX> で送る事ですか?
それだと、フレーム内のフォーム上で値が消えてしまうので今回の問題となったのですが。
何か手があるのでしょうか?
Sessionは、以前作った時に使用していたのですが、(時間設定を変えれるとは言え)時間が立つと
値を消滅させる設計になっている事と、ソースが複雑になってしまう事から他の方法がないかと模索
している次第で。
0213わ
02/09/20 10:00ID:???時間がたつと消えてほしくない理由は?
永続的にしようと思えばバックエンドにログインIDなどと結びつけた情報を格納しておけばいいこと
たしかにhiddenは無理ですね。
ユーザ固有の情報はユーザ固有に
Session固有の情報はSession固有になるように作らないといけません。
そこは実装の問題ですね。
Sessionも複雑にはなるけど(グローバル変数だからね。)
各画面単位で限定的に使うのであれば、Session("dir1_dir2_page1_name")なんてつかいかたでも
多少は軽減されない?
あと情報が少ないならget文字列にしてしまえば消えないよ。
ただ情報はだだもれ。
0214nobodyさん
02/09/20 10:30ID:???0215202
02/09/20 10:52ID:SQgl7jOq>時間がたつと消えてほしくない理由は?
ただ単に消えた時の処理をさせるのが面倒なだけです。
(下らない理由で申しわけありません。)
>あと情報が少ないならget文字列にしてしまえば消えないよ。
>ただ情報はだだもれ。
ははは。そうなんですよね。1番最初はそんな事してました。(恥
>>214
そういうの見た事あります。
裏で一個ブラウザが起動していて消すなって奴ですよね。(違う?)
もしかして、メインのフレームに格納しておけば消えないって事ですか?
(それだったらありがたいかも)
とりあえず、「わ」さんの言う通りSession等を綺麗に使う(こちらが本道って事ですよね?)
か214さんの言うようなフレームを別に設けるか、もう一度検討しなおしてみます。
色々ありがとうございました!
0217202
02/09/20 14:18ID:SQgl7jOqそう言う事ですか。ありがとうございます。
逆に、「F5キー」や「最新の情報に更新」のメニューを無効化する事は出来ないのでしょうか?
0218わ
02/09/20 15:05ID:???>逆に、「F5キー」や「最新の情報に更新」のメニューを無効化する事は出来ないのでしょうか?
あまりそういうことに関心を持たないほうがいい。
クライアントは好きにさせればいい。
そのときにきちんと動くように作る。
クライアントにデータを持たせてそれによってサーバの動きを変えるのはあんまりよくないよ。
F5が無効だったら不便と思わない?
0219202
02/09/20 15:28ID:SQgl7jOq良くないですか。
フレーム間でデータのやり取りをさせるのも複雑な作りになりそうですし、もう一度
Sessionに立ち返ってみようと思います。
0220194です
02/09/20 15:44ID:ojJnu8CM入力.asp
<form method="post" action="表示.asp" >
<input type="text" name="hizuke" value="">
<input type="submit" value="ok">
</form>
コモン.asp
Session("hiduke") = Request.Form("hizuke")
strhizuke=Session("hizuke")
strSQL = "SELECT"
strSQL = strSQL & " cd"
strSQL = strSQL & " ,NITI"
strSQL = strSQL & " ,YOUBI"
(略)
strSQL = strSQL & " and NITI = '" & strhizuke & "'"
表示.asp
コモンをインクルード
抽出結果表示
0221194です
02/09/20 16:01ID:ojJnu8CM入力.asp
<% Session("hizuke") =20010101%>
<a href=".表示.asp" target="submain">
コモン.asp
strhizuke=Session("hizuke")
strSQL = "SELECT"
strSQL = strSQL & " cd"
strSQL = strSQL & " ,NITI"
strSQL = strSQL & " ,YOUBI"
(略)
strSQL = strSQL & " and NITI = '" & strhizuke &
表示.asp
コモンをインクルード
抽出結果表示
0222名無しさん
02/09/20 16:05ID:???>コモン.asp
>表示.asp
あなたからはプログラマとしてのセンスが微塵も感じられません。
0223194です
02/09/20 16:13ID:ojJnu8CM0225nobodyさん
02/09/20 16:30ID:NVEaqKVaカスタムコントロール内で、クッキーを作成する方法がわからないんですかど、
どなたかごぞんじですか?Responseがみつからないんすよ。
0226194です
02/09/20 16:57ID:ojJnu8CMもともとプログラマではないんですが
0227わ
02/09/20 17:40ID:???method="get"
request.querystringにためしにしてみそ
http://表示.asp?hizuke=20020909
とかってなってる?
んで
コモン.aspの、1行目に
response.write request.querystringってしてみそ。
まずきちんと値がわたっているのか?取得できているのかを調べなさい。
0228わ
02/09/20 17:44ID:???System.Web.HttpResponse.cookiesを見てみそ。
でもここに書くのはどうか?
スレ違い。
でもASP.Netのスレはすぐ消えるし・・・
0229194です
02/09/20 18:10ID:ojJnu8CMpostのときはそのような表示が出てます
getの方試してみます。
0230nobodyさん
02/09/20 21:26ID:mlZkKKivSQLの構文になっていない気がしますけど
直接構文にぶち込むと大穴あいて大変なことに
0231nobodyさん
02/09/21 02:11ID:fER+PudxASP.NETのスレってあっさり消えるよね。
やはり、存在自体がお手軽じゃないからでしょうか。
しかし、ASP.NETが流行った日には、VB同様アフォなWebが
増えるんだろうなとつくづく。タブキー一つでサーバーに
通信に行くとか。
0232nobodyさん
02/09/21 04:03ID:/fORhW6/System.Web.HttpResponse h = new System.Web.HttpResponse(ここがなんのために必要なのか、ようわからん);
cookies までたどりつかんのよ。
スレ違いだけど…
ASP.NETをお手軽というあなたは、
実際ASP.NET知らないだろ?
VB同様アフォなWebは確実に減るね
0235220です
02/09/21 12:18ID:TOae1thB上の方にぽつんと一個<form>ってタグが、書かれておりました
引用してきたファイルなんで私のせいではありません
レスくれたかたありがとうございました
煽ってくれた人もありがと
0236nobodyさん
02/09/21 12:26ID:???引用してきたファイルなんで私のせいではありません
引用してきたファイルなんで私のせいではありません
そうでつか
0237nobodyさん
02/09/21 12:27ID:fER+Pudxちょっと調べてみようと思ったが、正直、VS.NETのMSDNは
途方に暮れる。
ネームスペースでフィルタリングする設定が欲しい。
とりあえず、C#などのプログラムの書き方を先に勉強した方が
良いと思われ。
あと、HttpResponseは、Pageオブジェクトのインスタンスから
いただくでそ。
VS.NET使ってるなら、WebフォームのPageクラスを継承した
クラスの中で、
HttpCookie sendCookie = new HttpCookie(クッキー変数名、値);
this.Response.Cookies.Add(sendCookie);
とか書いとけばセットされるんでは?(試してないけど。)
まだ、ASP.NETは、ASPスレに内包しないダメでは?
ASP.NETは、もうしばらく盛り上がるまで混在OKっつうのはどうよ?
0238nobodyさん
02/09/21 14:19ID:h/1nMf3Mいろいろありがとう。
それで、コードビハンドで使えるのはもちろんしってます。
ただ、やろうとしていたのが、カスタムコントロール内なので
ややこしくなっています。
>this.Response.Cookies.Add(sendCookie);
この部分が、むりなんですね。どうしてもResponseが使えません。
ネームスペースの問題ではないとおもうのですが。
色々、サーバーサイドに手をつけましたが、.NETが一番楽しいです。
コードは隠せるし、スパゲティコードになりにくいし。
プラットフォームを選ばなくなるし。
>231
ASP.NETは、初心者にすぐ簡単にできるようなものではないと思います。
どちらかというと、ASPのほうが初心者にとっつきやすいです。
0239nobodyさん
02/09/21 14:36ID:opFVH6H+さっそくですが、、、
とあるページでボタンをクリックするとSubmitし、
サーバー側でCSVを作成し、できあがったCSVファイルをRedirectするって
ものを作成しました。
しかし、IE5.5はダウンロードしますか?ってダイアログが表示されるのに、
IE6は勝手にブラウザに表示(Excel)されます。
クライアント側の問題だとは思うのですが、
サーバー側で何か対策できないでしょうか?
ちなみに、IISの設定でMIMEのとこにCSVを登録し、MIMEを適当なモノにすると
ダウンロードできるようになるようです。
でもなんでそうなるのかよく分かりません(´ヘ`;)
サーバー
Windows2000Server
IIS5.0
ASP(VBScript)
クライアント
IE5.5以上
0240nobodyさん
02/09/21 14:58ID:???ReDirectさせずに直接ASPから吐き出してやる。
そんときにContentTypeを書き換える。
それか
>ちなみに、IISの設定でMIMEのとこにCSVを登録し、MIMEを適当なモノにすると
>ダウンロードできるようになるようです
これするかだな。
0241nobodyさん
02/09/21 15:24ID:fER+Pudx今日、初めてカスタムコントロールのヘルプを見たレベルだが、
WebControlクラスには参照元のPageを取得するプロパティがあるので、
Page.Response.Cookies.add(cookie)で良いんじゃないの?
> 色々、サーバーサイドに手をつけましたが、.NETが一番楽しいです。
確かに、他の言語は休日にいじる気にならないな。
会社や家庭内LANから、家にあるストリーミングサーバからMP3を
聞くために、アルバムを選択するHTMLと、選択されたアルバムのASXを
動的生成するプログラムをASP.NETで作ってるです。
0242nobodyさん
02/09/21 16:01ID:ut/8yGerお!Pageってなんだ?はじめてみた。thisしかしらん。
おっ!できるぞ〜!
それでいけそうだぞぉ!これから試してみる!ありがとう!
P.S
会社にそんなものを…いいんですか?アクセスさしてください…
0243nobodyさん
02/09/21 16:02ID:fER+PudxContent-disposition: attachment; filename=test.csv
Content-type: application/octet-stream; name=test.csv
↑のようなのをHTTPヘッダで返すようにした
ASPを、リンクで呼び出させれば、ダウンロードしてくれるぞ。
とりあえず適当にぐぐったコピペなので、詳細知りたければ、
CSV Content-Typeとかで、ぐぐってみそ。
0244nobodyさん
02/09/21 16:04ID:ut/8yGerって、それって… いいんですか?やとって下さい。
0245nobodyさん
02/09/21 16:50ID:fER+Pudx誰にもURLを言わなきゃ事実上問題なし。
っていうか、多数の人間に128kbpsもアクセスさせるほどの帯域の
余裕はウチにはないし。
ちなみに、試してみたら、できたよん。
protected override void Render(HtmlTextWriter output)
{
int count=0;
try
{
string temp = Page.Request.Cookies.Get("testCookie").Value;
count = Int32.Parse(temp);
}catch{}
Text = "あなたは、" + (++count).ToString() + "回目のアクセスですね":
System.Web.HttpCookie ck = new System.Web.HttpCookie("testCookie",Text);
ck.Expires = new DateTime(2100,1,1);
Page.Response.Cookies.Add(ck);
output.Write(Text);
}
試しにクッキー経由のカウンターにしてみたが、初期値と結果が
コントロール内で閉じちゃったりするんで、イマイチ役に立たんような。
0246nobodyさん
02/09/21 16:55ID:fER+Pudx↑のコード、書き込み中にいじったらバグをつくってもうた。
×System.Web.HttpCookie ck = new System.Web.HttpCookie("testCookie",Text);
○System.Web.HttpCookie ck = new System.Web.HttpCookie("testCookie",count.ToString());
あと仕様的にマズイのは、ボタンでポストバックするたびにカウントが増える罠(w
0247nobodyさん
02/09/21 19:05ID:fER+Pudx> あと仕様的にマズイのは、ボタンでポストバックするたびにカウントが増える罠(w
isPostBack見て、増やすか増やさないかを決めれば、そんなことはありませんでした。
逝ってきます。
0248nobodyさん
02/09/22 00:23ID:Yr5pMj1n244です。
>あと仕様的にマズイのは、ボタンでポストバックするたびにカウントが増える罠(w
ご存知と思いますが、ViewStateと、PreRender Eventを使えばもっと応用が利きます。
0249nobodyさん
02/09/23 18:15ID:UackU58J説明してして
0250nobodyさん
02/09/23 18:35ID:???ほらよ。
http://www.ietf.org/rfc/rfc2318.txt
0251nobodyさん
02/09/23 19:20ID:f71NYVbj読めネーヨ!(ノヘ;)シクシク..
0252nobodyさん
02/09/23 22:08ID:XoM3D1GF0253nobodyさん
02/09/24 15:09ID:eLzTK/0WIPアドレス(andホスト名)を取得したいのですが
これってどうやって取得したらよいのでせう・・・
誰か教えてくださいおながいすます(;´Д`)
0254nobodyさん
02/09/24 15:17ID:???HttpRequest.HostName
ちょっとは調べませう。
0255nobodyさん
02/09/25 15:10ID:piqmHUcD<form method="post" action="2.asp">
<input type="text" name="id" >
</form
2.asp
Session("id") = Request.Form("id")
<a href=3.asp>
3.asp
3.aspでも1.aspでの値を使いたいんだけど、どう書けばよいですか?
0256あぼーん
NGNG0257nobodyさん
02/09/25 15:23ID:R6ghvLwKRequest.ServerVariables.Get("REMOTE_HOST");
こっちのほうが良くない?
0258わ
02/09/25 15:25ID:??????
考えてる?
Session("id") を使えばいいやん。
もしそれ以外の情報を使いたいなら
2.asp
<a href="3.asp?name=hogehoge">
3.asp
Request.QueryString("name")
でいいやろ。
hogehogeのところはURIエンコードを忘れずに。
0259nobodyさん
02/09/25 15:33ID:R6ghvLwK宿題ぐらい自分でやれよ。 おまえ馬鹿だろ。
0261nobodyさん
02/09/25 15:40ID:R6ghvLwKの使い方がわからんから。
0262nobodyさん
02/09/25 15:48ID:R6ghvLwK今試してるんだが、やっぱわからんぞ。
インスタンス作っても、HpstAddressでてこね〜。
どうやって使うんだ?
今後のために理由きぼーん。
0263nobodyさん
02/09/25 16:26ID:???Request.UserHostAddress
RequestUserHostName
だたよ。
0264nobodyさん
02/09/26 06:50ID:aEKV5IxoResponse.Redirect(strURL) ってimodeには使えないのかのう。。。(´・ω・`)
504以外だと303エラーが出る・・・
ASP.NET使ってるんですが何かよい回避方法はないものでしょうか・・・
Microsoft Mobile Internet Toolkit って使えるモンなのかどうかすら不明だし・・・
なにができてなにができんのか解説がどこにも見当たらん・・・(吐血
皆さん、よいお知恵をお菓子ください・・・
。・゚・(ノД`)・゚・。
0265nobodyさん
02/09/26 08:54ID:LCw4QAs/でどうなんすか?
0266わ
02/09/26 09:28ID:???フルパスにする必要があります。
HTTP1.1の仕様によるとフルパスが仕様で相対パスは負荷です。たまたま動いているだけです。
Response.Redirect("../../abc.html") <-ダメ
Response.Redirect("http://hoge.hoge.com/abc.html") <-OK
0267nobodyさん
02/09/26 11:21ID:snilzCmJSQLServer がおいてあるデータサーバ に ADO を用いてアクセスするときに、
データサーバの指定されたポートにつないでデータの送受信をしたいのですが、
このときの Connection の接続文字列をどうすればいいか教えてください。
お願いします。
0268わ
02/09/26 11:40ID:???ODBCのSystemDSNでどういう接続でやるかかくべし。
あと適当なところで1.udlとかを作成して、設定してからそのファイルをメモ帳で見ると
接続文字列がわかるよ。
0269267
02/09/26 12:05ID:snilzCmJ早速のレスありがとうございます。
SystemDSN でも、ポート番号が指定できましたね。
ただ、現在は SystemDSN を使用せず、
Connection の ConnectionString に
接続文字列を以下のようなかんじで書いていて、
"Provider=SQLOLEDB; Server=サーバ名; Database='データベース名'; (以下略)"
~~~~~~~~~~
上の「サーバ名」の部分を「サーバのIPアドレス+ポート番号」のように書きたいと思ったのです。
0270わ
02/09/26 13:37ID:???Server=の部分だけど、
Data Source
または
Server
または
Address
または
Addr
または
Network Address
接続する SQL Server のインスタンスの名前またはネットワーク アドレス。
とかいてあるから、Address="123.123.123.123:1234"でどう?
ちなみにSQLServerのポートを規定のポートから変更している、または複数上がっているということだよね?
0271267
02/09/26 13:45ID:???ありがとうございます。さっそくやってみます。
> ちなみにSQLServerのポートを規定のポートから変更している、
> または複数上がっているということだよね?
そのとうりです。
0272nobodyさん
02/09/28 02:50ID:???関数仕様ドキュメントを勝手に作ってくれるような奴。
お願いします。
0273nobodyさん
02/09/29 23:52ID:pw3WVevUした場合、実行中のASPスクリプトはどうなるんでしょうか。
Apache CGIだとシグナルが飛んでくるんですが。
0274あぼーん
NGNG0275わ
02/09/30 09:22ID:???サーバ上の処理はとまりません。
ただ切れているかどうかはわかりますので、長い処理はそれを見てください。
Response.IsClientConnected( )
0276nobodyさん
02/09/30 14:28ID:Q4Mi8Vqd複数の指定をしたいときには、どちらの書き方が正しいのですか?
1. <%@ Codepage=932 Language="JScript" %>
2. <% @Codepage=932 @Language="JScript" %>
両方ためしたのですが、特に問題なく動いているので…
0277nobodyさん
02/09/30 14:35ID:???0278nobodyさん
02/09/30 14:46ID:Q4Mi8Vqd即レスありがとうございます。
ただのASPなんですけど、その場合も上の例が正しいようですね。
ISHELP にあるサンプルに例がありました。
IIS のドキュメントの @ディレクティブ の説明がワカリヅライ…
0279nobodyさん
02/10/01 23:03ID:9FYYX4nA書き込みをチャット参加者全員にリアルタイムに表示
したいのですが、クライアントのブラウザをASP側から
自動更新させるというのは可能なのでしょうか。その
手法などお教えいただけると助かります。
よろしくお願いします。
0280nobodyさん
02/10/01 23:28ID:hLoMN/AFASP.NETだからといってそういうのが変わるわけじゃない。
0281わ
02/10/02 09:28ID:???>クライアントのブラウザをASP側から自動更新させるというのは可能なのでしょうか。
無理。
強制リロードさせるのがよくやる手。
あとはいろいろチャットを見てまわれ。
ActiveXもあるし、Javaアプレットもあるし、発言すればリロードもある。
いろいろなので、自分でどんな方式にするか考えてみて
0282nobodyさん
02/10/02 10:00ID:???といった感じで自分自身のファイル名を出力したいんですが
どのようにすればよいでしょうか?
0287nobodyさん
02/10/02 18:35ID:wziwqZe7コードビハインドから、HEADERのTEXTにアクセスする方法、
あるんでしょうか?
0288nobodyさん
02/10/03 17:30ID:Py7DXBFMなんでこう強引に、発生するはずもないイベントをサーバサイドでキャプチャーするという矛盾を実装するんかな。
確かにASPXな環境になって改良された点はあるけれど、なんだか不細工なモノになっちまったってのが実感。
0289アクアフレッシュ
02/10/04 03:38ID:gD6oaILK「On Error …」を宣言していないので、よく止まって困っています。
予測不能の使い方をする人って・・・大多数なのか?
■テレビ番組表データベース
http://world.tvnet.ne.jp/tvlan/
0290nobodyさん
02/10/04 12:28ID:i0M078Xu期待と予測は当然違う。
0291わ ◆nZptw02DTU
02/10/04 13:18ID:???クライアントからリクエスト文字列って言うのは想定外のものが来る。
id=xxxxでidは存在するものと仮定するならば、
存在チェックをかけて存在しなければサイトトップにredirectを強制的にかけるように作らないとね。
CSSとかXSSとか言われるバグ残してないかすべての入力項目、すべてのQueryStringでチェックした?
0292nobodyさん
02/10/04 16:03ID:2cwoqFkq全部手入力してるの?
なんで、On Error 宣言しないの?
エラーログ取って対策したら?
0293nobodyさん
02/10/04 19:23ID:???>「On Error …」を宣言していないので、よく止まって困っています。
>予測不能の使い方をする人って・・・大多数なのか?
予測云々の前に、この程度のモノが何でとまるのか疑問。
特にトリッキーなことをしているわけでもないのに・・・
小手先のコードいれる前に、根幹からコード見直したほうがいいぞ。
0294ASP.NET 移行中
02/10/05 01:50ID:b7pZYb8U直接アップデートできるようにしたいと考えています。
(アップデートプログラムをダウンロードするのでなく)
どのような方法で作成できますでしょうか?
とっかかりだけでも教えて頂ければ助かります。
0295nobodyさん
02/10/05 18:58ID:2e8trTi8コアをしっかり設計して、各モジュールの独立性をできるだけ
高くする。アップデートする機能は、全部入れ替え可能なクラスにしておいて、
ファイルを置き換えることで、アップデート完了。
もし、プラグインみたいな機能にしたいなら、
インターフェースの設計をしっかりしておいて、追加機能に対して、
もとシステムが追従できるようにしておかないとね。
0296nobodyさん
02/10/09 15:50ID:25Udgzi0で、仕方なく自分で作って見ますた・・・
http://で始まる文字列をサーチ、Ascコードで33〜121の間なら
リンクタグに加える、という感じで良いのでしょうか。
ただし、該当するコード内でも"<"、">"、"\" については除外してます。
0297わ ◆nZptw02DTU
02/10/09 17:01ID:???普通かどうかはわからんが、basp21か、RegExpを使って正規置換を置換をする
/(http:\/\/[a-zA-Z.\/\~\&\?]+)/<a href=\"$1\">$1</a>/
こんな感じ
実際にURIを正規表現で書くにはかなり難しい正規表現になるからその辺は探してね。
簡易版しか実装したことないし、実装する気も無いし
0298nobodyさん
02/10/09 18:56ID:???解放するタイミングがありません。
Session変数の有効期間が切れたら自動的に解放されますか?
0299296
02/10/09 21:52ID:???ありがとうございます。BASPでできるんですね。
モジュールで50行以上記述したんですが、処理時間のかかりそうな
ことばかりやってるし、正規表現には程遠いだろうし・・・
ソースを晒し上げたいところですが、もっと惨めになりそうなのでsage
0302わ ◆nZptw02DTU
02/10/10 11:56ID:???そうです。
Sessionにオブジェクトを入れると同時実行数が増えた時にメモリを大きく食うので
出来ればシリアライズさせてSessionに保存するほうがいいです。
0304わ ◆nZptw02DTU
02/10/10 16:11ID:???シリアライズって難しく考える必要は無いよ。
要は文字列配列とかにしちゃえって言うこと。
クラスから全データを取り出して、セットしたらまったくもとの状態に戻せればいい訳。
■ このスレッドは過去ログ倉庫に格納されています