何ですか掲示板
776172
 
名前
タイトル
メッセージ
 
 
  サーバトップ サイトトップ レギュラー板 投稿内容修正 管理人へ連絡    

 
1107 なるほど はくぶん 2009-03-13 00:17:20
ラリー。

<DAT>ね。

今までこれで<>を書いたことがないので、全然気づかなかった。

ifと変数++でループ処理が出来るのか?
ループ関数に慣れ切った俺としては、そのパターンが思い付かないが。

UNIXでもLinuxでもWindowsでも、
普通Apacheの設定ファイルはhttpd.confしかないはずだが、
MacのApacheにはuser.confなるものがあるのか?

LAN内=ローカル。
ISPにとってみれば、自社割り当てのグローバルはローカルかも。

Apacheをずっと動かしておかなくても、
マックにだってCGIを実行し、その結果を表示できるテキストエディタはあるよ。
たとえばmi(旧名:みみかきエディット)。
ただし、外部モジュールの実行はエラーになってしまうが。
メッセージ文字数:342/361
 
1106 パーミッション はくぶん 2009-03-12 23:36:31
ラリー。

基本的にCGIファイルはユーザが読みと実行ができればいいので、
パーミッションは755になっていることが多い。

実行ファイルに666の設定はあり得ないが、
掲示板やアクセスカウンタ等のデータファイルについては、
読みと書きさえ出来ればいいので、
666の設定にすることも珍しくはないよ。

閲覧者情報を極秘に記録するファイルなんかだと、
622なんていう設定もあり得るだろうか。

パーミッションの権限は、
------------------
u(user) :ファイルのユーザ(自分)
g(group):上のユーザと同じグループ内の他ユーザ
o(other):その他のユーザ(他グループのユーザ、WWW上で実行する人など)
------------------
なのだが、http接続の場合、gの権限を設定できないので、
基本的にはuとoだけということになる。
よって、755や444などという設定は、結局705や404と同じこと。

ファイルのユーザ(自分)であっても、
掲示板に書き込む時はo権限で書き込んでいるという事実。

とあるサイトの説明によると、
-------------------------------------
一般的に、
・読み出すだけのファイル(htmlやtext)は 644
・読み書きをするファイル(dat等)は 666
・CGIやhtpasswd等の実行プログラム(cgiやsh) 755
・通常のディレクトリ 755
・CGIがデータを作成するディレクトリ 777
と設定することになっています。
-------------------------------------
ということらしい。
メッセージ文字数:688/724
 
1105 <DAT> RALLY 2009-03-12 22:53:50
どうだろう。


ループ。
ifとカウンタ変数を++させてごまかしたりしてる。
つうかカウンタの方が好き。

どっちでも書けるのがperlのいい所ね。


httpd.conf
上等。

書き換えまくり。
ただしuser.confの方。

httpd.confは、perlモジュール読み込むようにしたくらいなもん。

ユーザーディレクトリ以下はローカルかLAN内からしかアクセスできないようにもしてある。



cgiその他もろもろを盗み見られるとしたら、
どう考えても、うちのMacからじゃなくiswebの方からだろう。
メッセージ文字数:238/261
 
1104 どれだけ修正しても はくぶん 2009-03-12 22:36:37
<の後の\が消えないので、それは飛ばして読んでちょんまげ。

その内、ループ処理内部にもう一つのループ処理が必要になって来た時、
$line = の重要性がわかる。
今は変数省略でもOKかな。

CGIを置いて動かないディレクトリがあるのは、
ディレクティブで、そのディレクトリをCGI実行可能にしていないため。
httpd.confのディレクトリ環境設定でExeCGIを設定してやると、
ドキュメントルート下のどのディレクトリでもCGIは実行可能になるはず。
デフォルトでは確かExeCGIは未設定だったような。
メッセージ文字数:247/257
 
1103 lt gt RALLY 2009-03-12 22:20:11
whileの後ろ、()の中に書いた<と>で括ったFILEHANDLEが見えなくなっちゃった。
htmlタグと勘違いされたんだろう。


ウニコード…
メッセージ文字数:76/80
 
1102 あなほりくん RALLY 2009-03-12 22:17:18
上等。

いまはちょっと来てほしい気分。


$line
謎。まったく理解してない。
ただ、あってもなくても動くっぽいので、ほとんど書いてないはず。
"while ()"なんて、パッと見ふつうの人間には全く理解できん。
まあ、動けばそれで。


スクリプト・エイリアス
上等。

OSXでもデフォルトではlocalhost/cgi-bin/にcgiを置いても動かない。
どこぞのCGI-Executablesとかいうディレクトリに置かないとダメ。

ただそこはパーミッションがいろいろめんどくさいので、
ローカルでテストするだけ用にユーザーディレクトリ以下でもcgi実行可能にしてある。

ルータからファイヤーウォールから電源オフ時からなにからなにまでかいくぐって、
このMacから出欠表を盗みだそうというスーパーハッカーがいるとしたら、
そいつはエシュロンを越える能力の持ち主であり、
その能力の活かし方を全く理解していないドアホウでもある。



666ではなかったはず。もちろん大フィーバー777でもない。
一部400だか404だかとかいうアホみたいなパーミッションのファイルもあるが、
おおむね755。

一部では705がいいとかいう噂もあるが。



自鯖ではない。
iswebライトとかいうやつ。

cgiが置けるレンタルサーバはあんまりない。

超大手なのでいたずらしてくるやつも多数いるだろうが、
本当の敵はinfoseek自体というウワサ。




つうかまじでOSX使いなはれ。
メッセージ文字数:602/661
 
1101 神戸 はくぶん 2009-03-12 21:46:26
今日は輸入貨物引き取りのため神戸へ行ってきた。
いつもの1トンとは違い、今回は400kg。

神戸税関本館は初めて行ったが、
なかなか古い建物で、そこだけ明治の匂いが漂っている。
鹿鳴館などと共通する古き良き西洋の雰囲気を携えていた。

税関が他に移転して、使われなくなった後は、
きっと重要文化財なんかに指定されるんだろう。

手続きは無事終了したが、荷物が1箱破損していて、
中身が漏れ出していた。
早速、倉庫会社に連絡したところ、
倉庫搬入の時点で既に破損を確認していたという返事。
荷揚げの時にリフトの爪がぶつかって破損したようだが、
なら、なぜ先に教えてくれなかったんだよ!

荷物には保険が掛かっているので、
こちらが損をすることはないが、
なんとも杜撰な倉庫会社の管理体制に、ちょっとがっかりした。
大阪なら充分あり得る怠慢姿勢だが、
神戸よ、お前もか、という感想。

会社に帰って来たのは夕方5時頃。
破損というトラブルはあったものの、
今日は天気が良かったので、なかなか有意義なドライブだった。


ラリー。

一人が制限を突破すると、どこで広まるのか、そのあと次々と後続がおいでになる。
油断もスキもありゃしない。

塞いでおくのが正解。
いくら身内だけとは言え、ある日突然すべてのファイルが無くなってるのも困るでしょ。

ループ処理での変数の省略とは while (<\DAT>) や foreach (<\DAT>) の部分。
本来の省略しない形は while ($line = <\DAT>) や foreach $line (<\DAT>) である。

ブラウザでCGIの結果が見えるということは、
バックグラウンドでApacheが動いているということだな。
普通、CGIはね、ユーザのサイト・ディレクトリの外、
つまりドキュメント・ルート外で動かすのが安全なんだよ。
Apacheのスクリプト・エイリアスという機能がそれ。

ドキュメントルートの中にあると、直接CGIファイルをDLされて、
中身を覗かれてしまうというリスクが常に付きまとう。

パーミッションの設定はUNIX独特のものだね。
Windowsでは設定したくてもフォルダに設定項目がない。

ホラー界では666は悪魔の番号。
UNIXでも666は悪魔だが、777は大魔王。

そのサイト、ドメインは大手ポータルサイトのものだが、
もしかしてルーティングサービスで自鯖運営?
メッセージ文字数:955/1034
 
1100 年度末 RALLY 2009-03-12 19:06:24
穴埋め工事終了。

ついでに仕掛けも。


そして1100げっと。
メッセージ文字数:28/33
 
1099 先達はあらまほしきことなり RALLY 2009-03-12 06:46:39
おー。

アクセス制限はおまじないみたいなもん。
いたずらでガンガンdat増やされると全部表示しちゃうので付けたまで。

わざわざmod.cgiを含むhtmlなりcgiを置いてアクセスしてくる根性があるなら、
そいつにサイト管理任せて、おいらは使う側になりたい。

でもまあいちおう塞いでおこう。


記述の揺らぎ。

気分で書いてるので、いろいろ揺れる。
もともとは変数を表示して確認するために

print "$ナントカ/
"

とか書いてあったのを、"/
"だけ消すから、そういうことになる。

まあ動いてるし、なんとかなってるはず。


変数の省略。

$ddとか$s_dir_listとか、そういうのか。

作ってる最中はへんな表示出まくり。
そういう時は単独でprintさせて確認。

構文エラーでなにも表示されなくなったら、
林檎+Zでエラーが出なくなるまで戻ってやり直し。


OSXのいいところは、cgiでもhtmlでもブラウザをリロードすれば確認できること。
httpd.confを書き直せば、ユーザーのSiteディレクトリ以下でもcgiが動く。
パーミッションの関係で、これが意外と重要。

テスト用のcgiは数知れず書いたし、本物の日程datをろくに確認もせず書き換えたりもした。
極めつけは、設定ファイルをぶっ壊したし。

お気軽に試せる&やり直せる環境だったから、ここまでやろうと思った。
いちいちFTPでアップロードして確認なんてダルすぎ&危険すぎ。

UNIX万歳。
メッセージ文字数:603/649
 
1098 焼肉 はくぶん 2009-03-12 01:29:21
サーヤン。

ちょい久し振りの登場かと思ったら、そういう事情だったか。

コンピュータネタ一色になったり、焼肉ネタ一色になったり、
何ですか掲示板は、何でもいいですか掲示板ってことで、
何でもいいですよ掲示板ってことだな。

HPトップにも“井戸端会議用”って書いてあるんだし。

鶴橋牛&タレの味を覚えてしまったサーヤンとしては、
普通の焼肉屋じゃ、もう“まあまあ”という感想しか持てないだろうと思う。

で、いつ行くかだが、
虎の穴社特有の突発事項がない限り、俺は別にいつでも構わない。
27日というと金曜日か。
もちろん、その日でもOK。

ところで、そこ旨いの?
まさか、タレはエバラ系じゃないだろうね?

最近、よくネット落ちしてるらしいセニョの登場を待つ。
メッセージ文字数:313/334
 
1097 指摘 はくぶん 2009-03-12 01:06:48
ラリー。

list.cgi
変数をダブルクォートで括ったり括らなかったり。
数字は基本的にクォートなしでOK。
PerlはVBなんかと違い、数字を文字列にも数値にも臨機応変に処理してくれる。

date_edit.cgi
リファー調べてアクセス制限しようとしているが、
あの記述だと、他サイトのmod.cgiから来たやつは拒否できない。
また、もしどこかのURLにmod_cgiディレクトリなんてのが含まれていたら、
そこから来るやつも拒否できない。

正規表現ではドットは何か一文字を意味するので、
拡張子前のドットを意味したいなら、エスケープシーケンスが要る。

同様にカレントディレクトリを表すスラッシュの前のドットについても同じ。

おっと、こんなことここで言っちゃっていいのかな?

基本的にリファーはフルパスで書かない限り、
どこにどんなURLが存在するかわからないから、
完璧にはアクセス制限できないってことだね。

変数の省略
変数や文字列を連結する場合、省略された変数は非常にわかりづらい。
文字列、変数、文字列、変数、文字列、変数、文字列なんて連結は、
HTMLタグを書く際は珍しくはないが、
この真ん中あたりに省略変数を入れなきゃいけない場合、
クォートとドットの嵐の中に埋もれてしまって、
ともすると構文エラーを引き起こしやすい。

更に、ループ処理の内部にもう一つループ処理がある二重構造の場合、
一方で変数を省略すると、もう一方では省略できない。
ループ処理が何重にも重なってくると、結構省略変数の行方を見失うんだな。

とまあ、いろいろ書いたが、
これからラリーもいろいろなエラーに遭遇すると思うので、
それはまた追々ということで。

それにしても、これで1週間目なんだよなあ。
少なくとも俺は1週間では連想配列(ハッシュ)は使いこなせなかったな。
メッセージ文字数:749/790
 
1096 異色ネタ サーヤン 2009-03-11 23:58:33
コンピューターネタ一色の何ですか掲示板。

肉の話でお邪魔します。
私が行きたい店は虎の穴社の向かいじゃないですよ。
あそこはね、まあまあと思いますが、値段はそこそこします。
で、いつ行くかですが、平日もちょろちょろと予定が・・・。
なぜか今年に入ってから、普段会わない友達との交流が盛んでして。
私としては、27日かなあ。
セニョは?
メッセージ文字数:160/168
 
1095 核心 RALLY 2009-03-11 23:19:45
index.html

list.cgiでもいいけど。

今日の分を送った後に、日程追加のcgiに致命的なバグがあることがわかった。
本物は修正した物を送ったので大丈夫なはずだが、送ったZIPのは動かないよ。


変数。

作ってる最中は確認のためにprintしまくり。
で、できあがったら消しちゃうので、見えなくなるだけ。だと思う。


究極的には、仲間内の出欠表なのでバグっても壊れてもごめんなさいで済む。
メールで1人1人確認してたのを、webで出来るようにしようってことだからね。
メッセージ文字数:229/244
 
1094 昨日のファイル はくぶん 2009-03-11 22:28:40
ラリー。

チェックしようと思ったんだが、
似たようなファイルが並んでいて、
どれが核心ファイルなんだかわからなかった。
中を開いてもイマイチ違いがわからず。

というわけで、吟味できず。

さて、今日の話題。

設定ファイルはインターネット越しにいじらない方がいい。
通信中に何が起こるかわからんからな。
ローカルで設定してサーバにアップ、これが基本。

スクリプトより生データ、アプリケーションより作成ファイル。
これもコンピュータの基本。

しかし、生データを再生するスクリプトを忘れてしまったり、
アプリが十万円以上するような代物だったりすると、
どっちも大事ってことになってしまう。
要はバックアップだな。

まあ、そのファイルは永遠に俺のマック内に存在するので、
困った時はいつでも相談してちょんまげ。

レンタルサーバだってHDDクラッシュはあるので、
datファイルも定期的にバックアップを取ったほうがいいよ。

昔、ELECTRIC LADYLANDのMP3を置いてたレンタルサーバのHDDがクラッシュ。
主催者はバックアップを取っていなかったらしく、
全会員にファイルの再アップをお願いするメールがやって来た。
即、退会。

ラリーはループ処理で変数の省略をよく使っているが、
あれって変数の所在を見失わないか?
Perlの妙は省略とよく言われるが、そこに形として表れてないと、
どこかで意図せず紛れ込んでくるという不安があるなあ。

アングラ秘宝館タイトル検索にヒントを得て、
この掲示板にも近々全文検索を付ける予定。
ただ、MySQLの能力を全く活かせないアルゴリズムになるので、
そこだけは不本意だが・・・
メッセージ文字数:674/716
 
1093 エラー RALLY 2009-03-11 21:58:04
上等。

エディタで背景色をアクセス端末ごとに固定するように設定したあとに、
ブラウザからそのほかの表示を設定してたら、丸ごと壊れた。

ローカルからもサーバーからも正常な設定ファイルがなくなって、全ておしまい。

かと思ったが、日曜に送ったZIPの中に真っ当な設定ファイルが残ってて、事なきを得た。



生データ入りのdatファイルさえあれば何とかなるとはいえ、一瞬心臓が止まった。
メッセージ文字数:182/193
 
1092 Googleよ はくぶん 2009-03-11 01:27:28
昨日今日と、何でこんなに急にアクセス少なくなっちゃったの?

30ってあんた。
今まで数百なんて当たり前。
多い日なら2千回以上来てたじゃない。

具合でも悪いのか?
メッセージ文字数:77/83
 
1091 修正 はくぶん 2009-03-11 01:23:39
ラリー。

あとで見返すと、いろいろ修正したくなってくるもの。
暫くは修正作業も楽しいもの。
それはまだ全体像を鮮明に覚えているから。

これが2年も3年も経つと、自分で自分のスクリプトを解読するだけで一苦労。
たとえ不細工を発見しても、スリム化したくても、
他の部分でエラーが起きる事を考えると、なかなか手が出せない。

漢字変換の話をすると、
いつも更新の時に悩まされるのが、更新官僚。
“完了”より“官僚”が優先されるのは、やはり日本だから?

ことえり、未だ現役。
メッセージ文字数:222/236
 
1090 わたしは時代遅れ RALLY 2009-03-11 00:39:47
20世紀生まれ


もうちょいで完成しそう。
って、昨日もそう思ってた。
だが、あっちを直すとこっちも直したくなる。

無限。





しかし歓声思想って。

ATOKよ…、そりゃ文字コード以前の問題じゃだぜ。
メッセージ文字数:91/106
 
1089 外為情報 はくぶん 2009-03-10 23:46:51
あと一歩、なかなか100円の大台に乗らない米ドル。
98円から99円台を行ったり来たり。
暫くこの辺りで安定するのかもしれない。

ユーロも同じ。
124円から125円台で行ったり来たり。
こちらもジェットコースター状況を脱して、この辺りで安定か?

上記二つに比べると、ちょっと変動のあるのがポンド。
と言っても、2円から3円の変動幅。

比較的落ち着いて来て、投資家、いや、投機家にとっては面白味に欠ける外為相場と言えるだろう。
メッセージ文字数:205/216
 
1088 Perl談義 はくぶん 2009-03-10 22:29:29
昨夜は晩飯を食って横になったら、そのまま爆睡。
電気やらコンピュータやら、すべてつけっ放し。
起きたら朝の6時半。

見るとラリーが4連続投稿。
Perlにはまってるね。


ラリー。

EUC
ちなみに、正しくは Extended UNIX Code ね。
あれっ、Extended UNIX Character じゃなかったっけ?

今度はパスワードを暗号化か。
それはなかなか凄い、というか、俺には出来ない。
暗号化処理をマスターしたら、俺に教えて。

スクリプトの内容を見て、どういう処理をしているのかは大体わかったが、
それを僅か1週間足らずで、自作できてしまっているところが凄い。

世の中のサーバは基本的にUNIXだから、EUC&LFで上手く行かないはずはないんだが。
むしろSJISの方が不具合が出やすい。
ひょっとして、そのサーバ、Linuxか?

Perlのコマンドと被る半角記号は\に限らず何でも、
文字列置換を使って直前にエスケープシーケンスを挿入すると問題なし。
と言いながら、この掲示板はそうなってないけど。

input textって何?
それってテキストファイルを読み込み専用でopenするってこと?

テキストファイルをopenして読み込む場合、
chompで行末の改行コードを消し去るのがよい。
改行コード付きで処理すると、予想外の結果になることがある。

ここで問題になるのが改行コード。
chompが果たしてCR、CRLF、LFのすべてのコードを綺麗に消し去ってくれるかどうかはわからないが、
少なくともLFは確実に消してくれる。
だから、本来はEUC&LFの組み合わせが良いとされているんだな。

UTF-8はクラシックマックの泣きどころ。
IEはサポートしているが、NCは対象外。

ただ、PerlでUTF-8を扱おうと思ったら、文字コードをUTF-8にしないと完璧に化ける。
EUC、JIS、SJISなら相互に変換可能だが、3バイト文字は完全には変換できない模様。

だから、この掲示板にいつまで経っても全文検索機能が付けられないのだ。
PHPはネイティブでUTF-8にも対応しているので、今や主流はそっち。

LAMPセットの最後のPがなぜPerlじゃなく、PHPかという理由もその辺にある。
MySQLもUTF-8を推奨しているので、余計PHPに軍配が上がるというわけ。
時代はもう3バイト文字。
実はPerlはもう時代遅れの代物なんだよ。
メッセージ文字数:992/1045
 
 
  Page: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371  

CGI Scripted by hakubun