△▲ WebProg 初心者の質問 Part12 ▼▽
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/08/28(日) 16:53:24ID:381SFpZ2質問したいけど、どうしたら良いか分からない。
そんなときは、ここに書き込んでください。
板の住人や、その他が、けなしながら、厳しく教えてくれるかも。
質問する前に、まずはここを読んでね。
【注意事項】
・質問する前にGoogleで検索してみましょう
http://www.google.co.jp/
・環境(ソフトウェアのバージョンなど)は、必ず書いてください。できるだけ詳しく。
後から情報を書き足す、いわゆる情報の小出しは極力避けてください。
・何がしたくて、何ができて何ができないのかを書きましょう
・マルチポスト(複数のスレッドで質問する行為)は絶対に禁止です。
・過去ログは必ず読みましょう。あなたと同じ質問をしてる人がいるかも知れません。
2ch 総合ガイド
http://www.2ch.net/guide/
お願い。
適切な、板、スレ、を発見した場合、誘導してあげましょう。
スレの性質上 age 進行でお願いします。
関連情報は
>>2-3
0270nobodyさん
2005/11/21(月) 19:54:47ID:???perlでプログラムを書いたんだけど
送る相手がいなくて検証が出来ないので、漏れにガンガンとスパムメール
送りつけてきた、出会い系やガイジソに送りつけてやろうと思うのですが
これって犯罪ですか?
0271nobodyさん
2005/11/21(月) 20:20:13ID:???やめれ
冗談半分のつもりならまじでやめとけ
スパムの中にはFrom句を他人のアドレスで偽って送ってる性質の悪いのだってあるんだ
ってここPHP板だよなんでperlなんだよ俺もしかして釣られたのかよ…(´・ω・`)
0272nobodyさん
2005/11/21(月) 20:21:29ID:???0273nobodyさん
2005/11/21(月) 20:48:09ID:???ただの個人が送信した場合は定められていないけど、一斉送信は50万以下の罰金だそうです。
0274nobodyさん
2005/11/21(月) 21:10:53ID:???たいていはエラーが大量に帰ってくるがな。
0275nobodyさん
2005/11/21(月) 21:14:57ID:???一斉送信が認められていないのなら、ループで適当に時間を置いて
一定時間おきに送るっていうのは良いのかな?
こうしている間にも3通のスパムメールが届いたあのだが・・・・
0276nobodyさん
2005/11/21(月) 21:52:59ID:???0277nobodyさん
2005/11/21(月) 22:25:55ID:???相手が仕事で使ってるアドレスなら業務妨害、
生身の人間で精神的苦痛を与えて病気になったら傷害、
その他、民事で損害賠償もありうるぞ
0278nobodyさん
2005/11/21(月) 22:26:41ID:???0279nobodyさん
2005/11/21(月) 22:46:27ID:???ム板に一応RubyスレがあるんだけどCGI関連のことはなんだか聞きづらくて・・・
0280nobodyさん
2005/11/21(月) 22:53:28ID:???CGIなんて、処理して標準出力でヘッダ付けて返すだけだから切り分けて考えられる
0281nobodyさん
2005/11/21(月) 22:53:56ID:???一応 Rails スレはあった
【Agile】Ruby on rails相談所【DRY】
http://pc8.2ch.net/test/read.cgi/php/1118663500/
0282279
2005/11/22(火) 15:40:04ID:???ム板に行くことにします。Railsとか正直よくわかんないし。
0283nobodyさん
2005/11/23(水) 18:08:16ID:TUsrh7/Jどのような仕組みで実現できているのでしょうか?
0284nobodyさん
2005/11/24(木) 17:53:29ID:H+GclXkC環境は、freeBSD apache Perl MySQL PostgreSQL SSL です。
具体的には、数百人程度の会員それぞれにID・PASSを発行し、
ID・PASSで認証されたユーザのみhtmlを表示可能にしたいのです。
表示するページ自体は素のhtmlなので、basic認証でディレクトリをロック
する方法が一番手っ取り早いのですが会員が数百人なのでテキストファイルでは管理しきれず、
セキュリティも問題ありそうなのでmod_auth_pgsqlの使用を考えたのですが、
サーバにモジュールがインストールされていませんでした。
何か良い方法はありませんでしょうか?
0287nobodyさん
2005/11/24(木) 20:00:28ID:???まる1日立っても反映されないんですが
心配になって来ました
0289nobodyさん
2005/11/25(金) 09:15:00ID:Adn1ykLrPHPは使えます。
>>286
BerclayDBも使えるようです。
認証をかけたいディレクトリ内にhtmlが100以上あるのですが、
中身を一切いじらないで可能な方法があると最良なのですが。
0290nobodyさん
2005/11/25(金) 12:09:34ID:???phpにはpearという標準ライブラリがあります。
その中に、Auth_htmlというクラスがあり
これを使えばデータベースをつかったBasic認証が比較的容易に設定可能です。
0291289
2005/11/25(金) 13:29:48ID:Adn1ykLrありがとうございます。
Auth_htmlで可能かどうか調べてみます!
0292nobodyさん
2005/11/25(金) 14:44:43ID:???0293nobodyさん
2005/11/25(金) 14:52:07ID:???迷子になってないと良いなあ。
0294nobodyさん
2005/11/25(金) 18:46:41ID:???リクエストしたURLに従って、ページと返す物を作ってしまえばいいんだろうけど。
0295289
2005/11/25(金) 21:54:53ID:Adn1ykLrよくわからなかったのですが、
basic認証のようなダイアログを表示しデータベースの任意のカラムから、
ID、PASSを抜き出し、整合性を確認しログインするのでしょうか?
BASIC認証とあったので、mod_auth_pgsqlのphp版といった感じかな?
いろいろ調べた結果、ディレクトリ内を全てロックする場合にはbasic認証以外方法が無いようなので、
.htaccessで任意のディレクトリ以下にアクセスがあった場合は、php等に飛ばすようにし、
認証済み(セッション無ければ認証画面表示)であれば要求されたファイルをphp経由で表示。
というのが一番楽そうでした。
他にもっと簡単な方法があればよいのですが。
例えば、.htaccessの設定で任意のディレクトリ以下のファイルにアクセスがあった場合には、
クライアントのセッションIDとDBのセッションIDの比較を行い、同じであれば、
要求されたファイルを返すなんて事が可能であれば最良です。
0296nobodyさん
2005/11/25(金) 22:34:48ID:???サイト上で簡易的なデータベースを作成しようと考えています。
検索を行うCGIとは別に、フォームから投稿したデータをログファイルに記録するCGIを作りたいのですが、Perlで
『フォームから送られて来たデータを既にログファイルに記録されているデータと照会し、既に同じデータが書き込まれている場合はファイルに記録しない』
という処理をさせる事は可能でしょうか?
また、可能な場合はテキストエリアから送られた複数行のデータを一行ごとに上記の処理を通す事ができるでしょうか?
フォーム側のvalue事にチェックする事は変数利用で可能と思うのですが、一連の文章も照会できるのかが解らず…。
ログファイルに重複したデータがいくつも書き込まれるのを回避したいのですが、基本的な設計自体がおかしい、質問するスレ違いなどありましたらご指摘いただけると幸いです。
データベース作成したいならMySQL+DBI利用が良いと言われたのですが、鯖がMySQL未対応なのでPerlで動かしたいと思っています。
0297nobodyさん
2005/11/25(金) 22:43:33ID:???・ファイルの読み書きができる。
・文字列の比較ができる。
ので、そういうスクリプトを作成することが可能です。
0298nobodyさん
2005/11/25(金) 22:45:37ID:RrF0melO<name>Mona</name>
<birthday>1999/3/3</birthday>
<tall>98</tall>
<weight>25</weight>
</character>
のようなXMLが1ファイルごとに書かれていて、これらの情報をCGIで表示したいのですが、
100ファイルあった場合に1リクエストで100回ファイルを開くのはパフォーマンス的にどうなんでしょうか?
0300nobodyさん
2005/11/25(金) 22:52:36ID:???100ファイルのXML読むのも特に気にすることもないのかな
0301296
2005/11/26(土) 00:32:59ID:???あ、Perlでも書けるのですね、良かった。
具体的な記述例はこちらで伺っても良いものなんでしょうか。
コーディング質問スレはソース提示が前提みたいですし……。
0302nobodyさん
2005/11/26(土) 00:34:51ID:???0303nobodyさん
2005/11/26(土) 01:14:24ID:???Perl修得するつもり(時間ある)なら環境整えるところから始めようよ。自然とコーディングの質問になるから。
やる気ないなら「■こんなCGI作ってください■スレ」もあるし。
0304301
2005/11/26(土) 01:34:26ID:???一通り有名なPerl講座サイトなんかは目を通して勉強しています。
CGI自体の基本的な部分に関してはなんと書けそうなのですが、>>296で質問した処理を実行させる為の方法がいまひとつ解らない状況です。
もう少し突き詰めて、「こう書けばこう動きますか?」とソースを提示できるようになってからコーディング質問スレに書いたほうがいいでしょうか。
0305303
2005/11/26(土) 03:06:42ID:???コーディング例が見当もつかないってことなら実際のCGIスクリプト覗いて見るのがよさそう。
1行BBSとか中が単純そうなやつで、ファイル読み書きがされてるものをいくつか。
ソース見る時のエディタは最低でもコメント行の色が変わるやつで。
あとはログの仕様を考えるってのもいい足掛かりになるかもしれない。
(1行1レコードとして、レコード中に改行は来ないものとする...とか)
0306304
2005/11/26(土) 15:01:03ID:???本当に初歩的な質問ばかりにお答えいただきありがとうございます。
いま、色々な掲示板スクリプトを覗いてみているところです。
大抵の掲示板スクリプトで、ログファイルに記入される内容は
『投稿日時 名前 メールアドレス コメント内容』
といった具合に一行に記録される事が多いですよね。
過去ログなど参照した際にどうやってこれを各データ(投稿日時、名前など)ごとに割り振っているのかが理解できれば解決できるような気がするのですが、的外れでしょうか。
もうちょっと試行錯誤してみて、お手上げになったら作ってくださいスレで聞いてみることも視野に入れておきたいと思います。
0307nobodyさん
2005/11/26(土) 16:10:14ID:???ファイルベースなら、
単純な多重投稿禁止なら、投稿内容のチェックサム、MD5などを取って比較。
一行ごとの比較が必要なら、ログをindex関数で舐める。
大雑把だけど、私ならこんな感じで作るかな。
一行ごとの比較が必要なのか、再度検討してみては。
どんな方法でも結構大変な処理だし。
どうしてもやるなら工夫が必要。
0308sage
2005/11/26(土) 16:26:53ID:???私服で音楽でも聴きながら、まったり笑いながら時に真剣に
んでむさくるしくない華あり楽しい職場をイメージしているのですが
やってる仕事も流行にのってるかんじがします
当方、金融系SE。背広とホストとおっさんの環境から脱却を計りたく・・・
0311306
2005/11/26(土) 17:09:58ID:???>>307
一行ごとの比較はやはり無駄が出るでしょうか。
>>296に書きましたが、作成したログファイルを検索用の別CGIで検索させたいと思っています。
登録したいデータ自体が既に『日付 名前 コメント』といった一行に纏められた状態になっており、
かつ数も多い(データ自体は定期的に収集する為、データ取得日時以外が同じものが出てくる可能性が高いのです)ので、
乱暴ですがテキストエリアから複数件のデータを一度に送信できないものかと思った次第です。
検索した際に全く同じ情報がいくつも出てくるというのを防ぐ為に、ログファイルに記録する段階で重複のチェックができればと思ったのですが、
検索CGIの方で重複情報を表示させない設定にする方がが無難でしょうか?
最初からこう書いて質問すれば無駄がなかったですね…重ね重ね申し訳ないですorz
0312303
2005/11/26(土) 18:08:32ID:???改行で分割すれば重複チェックに使える最小単位の1行になるでしょ。
その1行でチェックを行数分繰り返せば複数件チェックしたことになる。単純には。
で書き込みと検索、どっちに処理をさせるかと言えば原則的に呼び出される回数が少ない方。
たぶん書き込み時が無難だと思う。
0313307
2005/11/27(日) 00:06:45ID:???データ一件が一行なのね。
一行づつ処理するしかないね。
規模が小さければ、べたに検索する方法もあるし、
前述通りにMD5かチェックサムか作って調べる方法もあるし。
検索CGIが別にあるなら、まずはその検索方法(またはルーチンそのもの)を
流用して作ってみたら?
使い物にならなかったら、別の方法を考えるということで。
0314nobodyさん
2005/11/27(日) 13:01:37ID:???https://coterie.ws/
0315nobodyさん
2005/11/27(日) 13:59:00ID:???0316311
2005/11/27(日) 20:05:00ID:???なるほど、改行で分割すれば複数行のデータを送っても別々の関数に放り込めますね。
そして処理は書き込み時の方が良いと…ありがとうございます。
>>313
はい、まずは検索CGIのルーチンを流用できるか試してみます。
次はコーディングスレで質問できるレベルになるよう頑張りたいと思います。
丁寧にご回答くださった皆さん、どうもありがとうございました。
0317308
2005/11/27(日) 22:44:35ID:???> 私服で音楽でも聴きながら、まったり笑いながら時に真剣に
>んでむさくるしくない華あり楽しい職場をイメージしているのですが
実際はどうなんでしょうか?
が質問です
0318nobodyさん
2005/11/27(日) 23:04:41ID:???ニヤニヤして時には「おめーの設計がマズイんだよっ」「黙れヘタレドカタ野郎がっ」と
拳で青春のほとばしりをぶつけ合い、ヒゲを剃るヒマもなく髪をボリボリ掻きながら、
宅配ピザの箱が散らばる床で寝泊りするそんな職場ですよ。
0319nobodyさん
2005/11/28(月) 00:05:50ID:???おれんとこもそうだ
0320nobodyさん
2005/11/28(月) 00:11:34ID:???プログラムの最初でロックをかけ、
プログラムの最後でロックをはずしたいのですが、
これを行うコマンドってありますでしょうか。
ちなみにPHP上で実行しております。
0321nobodyさん
2005/11/28(月) 01:14:30ID:???0322nobodyさん
2005/11/28(月) 01:23:48ID:???0323nobodyさん
2005/11/28(月) 19:41:55ID:H2ObAxw/ping.blogger.jpだけはたまに載せてくれます。
flerror = 0 、 message = Thanks for the ping. と返ってくるのでPING自体は受け取っているはずなのですが。
何か厳密な更新PINGの打ち方があるのでしょうか?
それとも更新PINGはXML-RPCで送るweblogUpdates.pingではなく、RSS Pingのことなのでしょうか?
更新PINGの確認に便利な所はないでしょうか?
0325nobodyさん
2005/12/03(土) 14:13:55ID:22x5D6VG0326nobodyさん
2005/12/03(土) 19:30:23ID:???(´Д`iill)
(⊃ ⊂)
(⌒(⌒_.ノ
0327nobodyさん
2005/12/04(日) 01:39:52ID:JEHfH7eYログ画面
文章入力欄
ログ画面クリックでログ全画面表示に、上下ボタンで過去ログ参照
文章入力欄クリックで画面の半分ほどにメール作成時のような入力場所が出てくる。
通常起動時はログ画面8:文章入力2
文章入力欄をクリックしなくても短い文章だったら入力欄から直接書き込める。
このようなものは作れるでしょうか。。。?
0329nobodyさん
2005/12/04(日) 05:26:04ID:iHOz78/o単に画面のレイアウトの問題じゃん
普通にボタンなりリンクなりで別動作の部分を作ればいいじゃないの
0330nobodyさん
2005/12/04(日) 11:46:43ID:???サーバサイトでこれってできんの?
0331nobodyさん
2005/12/04(日) 23:07:44ID:Rr/jhffxクリッカブルマップっていまさら使ってもいいんですか?
もしくは、もっとエレガントなソリューションはありますか?
目的
冷蔵庫の中身の画像(1枚)があって、
牛乳をクリックしたら、牛乳の説明がポップアップ表示、
卵をクリックしたら、卵の説明をポップアップ表示。
ポップアップは、ウィンドウではなく、レイヤー?というのかなにしたい。
要するに、google map apiみたいなもんを、ローカルの画像で
やりたい。
疑問
google map apiでの下地は、google地図サーバ提供の画像のみ?
0332nobodyさん
2005/12/06(火) 17:14:36ID:???これはどうやって計算しているのでしょうか?
unixtimeだと整数単位だしどうやっているのか疑問・・・。
Perlでも出来るのでしょうか?
0333nobodyさん
2005/12/06(火) 17:23:18ID:???0335nobodyさん
2005/12/06(火) 17:29:27ID:???0336nobodyさん
2005/12/06(火) 17:37:12ID:???回答ありがとうございました。
すごく助かりました。
>>335
ああ、マイクロ秒でぐぐれば良かったのですね。
「検索結果 秒数表示」
などでぐぐってみたのですが求めるものが出てこなくて途方に暮れていました。
0338nobodyさん
2005/12/07(水) 05:21:23ID:f3EbpZWEという作業をアクティブなブラウザではなく、別の仕事をしている裏で自動送信させるには、どのような手段が考えられるでしょうか?ご存知の方いらっしゃいましたら宜しくお願いいたします。
0339nobodyさん
2005/12/07(水) 06:48:22ID:???0340nobodyさん
2005/12/07(水) 10:00:48ID:dnNbPXNm・リクエストヘッダを受信し終わった
・メッセージボディを受信し終わった
のどちらでしょうか?
0342nobodyさん
2005/12/07(水) 12:04:51ID:udQTfeZIアクセス解析のログ一覧のリンク元に、「サイトのURL/pokelog/pokelog.cgi?
mode=rec&swh=NoScript&scd=NoScript&ref=NoScript」というアドレスが残っていました。
全ての階層に白紙のindex.htmlを入れているので、そのアドレスに飛んでも
何も表示はされないのですが、このアドレスに飛んでいる人の目的はどういった
ものでしょうか。思いつく可能性を教えていただければ嬉しいです。
使っているのはpokelogです。
ちなみに、恐らく同じ人が複数回このページに飛んでいます。
ご回答よろしくお願いします。
0343nobodyさん
2005/12/07(水) 12:42:40ID:dnNbPXNm検索エンジンから下層に飛んできてインデックス探そうとしてる。
ぐぐる様のツールバーは上位のディレクトリ階層開くボタンもあるし。
0344nobodyさん
2005/12/07(水) 18:24:29ID:???java-scriptで、「フォームボタンをクリックすると指定されたテキストをクリップボードにコピーする」というものを作りました。
htmlでの動作は確認できました。
「指定されたテキスト」は、入力された内容をCGIで処理した結果にしたいのですが…。
CGIに、成功したjavaを組み込んで動作させるとフォームボタンが表示されません。
最初はprint文にして実験してたのですが、最終的に成功したhtmlをprint <<"EOM";でくくった単純なものでも試しましたがうまくいきません。
これってこの類のjava-scriptを、.htmlだと許すけれど、.cgiの場合は許さない…っていうIEのセキュリティ罠なんでしょうか?
あるいは、CGI側になにかする必要があるんでしょうか?
今まで何度かCGI中にjava-script入れをしたことがありますが、こんな現象は始めてなもので。。。
0346338
2005/12/07(水) 20:19:11ID:???>>341
説明不足ですみません。
自分仕様のオートパイロットを作ろうとしています。他の作業をしている間に、よく行くブログや掲示板その他ニュースなどの情報を収集して、あとは読むだけ、という状態にしておきたいと思っています。
0347nobodyさん
2005/12/07(水) 20:33:55ID:dnNbPXNmJavascriptで十分じゃん
0348nobodyさん
2005/12/07(水) 20:49:02ID:???0349nobodyさん
2005/12/07(水) 20:53:30ID:dnNbPXNm0352nobodyさん
2005/12/07(水) 23:13:03ID:???<img src="パス名/pokelog.cgi?mode=rec&swh=NoScript&scd=NoScript&ref=NoScript" width="1" height="1">
</noscript>
0353nobodyさん
2005/12/08(木) 01:50:23ID:???ここで質問させていただきます。
URLが「?eid=123456」なブログから、
URLが「123456.html」なブログへ移行したいと考えています。
そこで、.htaccessで以下のようにスクリプトを書いて旧記事の
URLからの転送を試みたのですがうまくいきません。
RewriteRule \?eid=(.*)$ http://blog.hoge.com/$1.html
どうやら「?」(クエスチョンマーク)にマッチさせることが
できていないことが原因のようなのですが、どうやったら
この問題を解決できるのでしょうか。
0354nobodyさん
2005/12/08(木) 01:55:27ID:???RewriteEngine On
これ忘れてないか?
0355nobodyさん
2005/12/08(木) 03:09:37ID:???すいません。ここに書くときに省略してますが入れてます。
「?」抜きのURLなら転送できてます。
RedirectMatchでも試したけど結果は同じでした。
0356344
2005/12/08(木) 08:54:58ID:???CGIを実行→ソースを見てどこが悪いのか調査…は、何度か行っていたのですが、それを「htmlとして保存して実行」を抜かしていました。
結果、htmlでもCGIから出力したものはうまく実行できなかったので、「IEセキュの罠」という線のは消え、CGI出力にほぼ絞り込むことができました。
元HTMLとCGI出力のHTML保存版の2ファイルを比較ソフトで見たところ、やはり1部異なっていました。
通常はprintで処理するので知らなかったんですが、EOMでくくった部分でも\は\\としないと消えてしまう…というのが原因でした。
うまく動作することができました。
ありがとうございました!!
0359nobodyさん
2005/12/08(木) 16:55:16ID:???クエリストリングというのはひょっとして「?」付きのURLのことですか?
mod_rewriteでできないとすると他に方法はないのでしょうか?
>>357
どんな風にやればいいんでしょうか?
PHPとか使うわけですか?
0361nobodyさん
2005/12/08(木) 18:15:05ID:???RewriteRule ^.* http://blog.example.com/%1.html [L]
?eid=123456
で、
http://blog.example.com/123456.html?eid=123456
に転送できる。
# ?eid=123456の消し方が分からなかった。
しかし、RewriteRuleで%1を使ってもいいのだろうか。
0362nobodyさん
2005/12/08(木) 18:28:23ID:???http://www.namazu.org/~satoru/diary/20040315.html
0363nobodyさん
2005/12/08(木) 18:37:43ID:???なるほど、
RewriteCond %{QUERY_STRING} ^eid=(.*)$
RewriteRule ^.* http://blog.example.com/%1.html? [L]
こうね。
0365nobodyさん
2005/12/08(木) 21:14:40ID:???0366nobodyさん
2005/12/08(木) 21:49:39ID:???解決しちゃったけど、Perl でも PHP でも使える言語で書けばいいよ。
.htaccess が使えるってことは blog 限定のサービスじゃないんでしょ?
(違うの?)
0367nobodyさん
2005/12/08(木) 21:54:17ID:???mod_perlを導入しようと画策しましたが、どうにも
動かないようなのです(500)、
ttp://multix.jp/html/memo/030524.html
上記サイトを参考にして構成しましたがダメでした、
後々調べると最近はmod_perlの仕様が変わって
動かなくなったという書き込みも見つけたので、
実際のところを教えていただければと存じます
0368nobodyさん
2005/12/08(木) 22:05:16ID:???漏れ、そのサイトを参考にmod_perl入れたばかりだ。
startup.plのところはかなり変えないと動かなかったと思う
まず、ApacheをApahe2に置換。
use Apache2 ();
use Apache2::Server ();
use Apache2::compat ();
これらの行はコメントアウト。
他にも何かあった気がするがとりあえずここまで報告
■ このスレッドは過去ログ倉庫に格納されています