shスクリプトでcgi
1 :nobodyさん :03/03/20 01:27 ID:zBrN4BPB.net Perl vs. PHP vs. Rubyと言われているこの時代に shスクリプトでcgiを書いている奴っていますか。 周りからは生きた化石と言われながら、頑固一徹 shスクリプトのcgiの可能性にかけている。 そんなcgi職人、集まれ!
2 :nobodyさん :03/03/20 02:17 ID:???.net Cでcgiを書いてますが何か? ↓C++で書いてるヤシ
3 :nobodyさん :03/03/20 02:58 ID:???.net 低パワーマシンで perl や python では重すぎる CGI でシェルスクリプト使ったりします。
4 :nobodyさん :03/03/20 07:31 ID:???.net http://lib.city.shinagawa.tokyo.jp/cgi-bin/Swwwsmin.sh これってやっぱりシェルスクリプトなのかなぁ。
5 :nobodyさん :03/03/20 08:00 ID:0FfyPGzB.net #!/bin/sh echo "Coutent-type:text/html;charse:Shift_JIS\r\n\r\n逝ってよし"
6 :nobodyさん :03/03/20 13:39 ID:???.net かけないこともないが perlで重くてシェルスクリプトで軽いってことは そんなにないだろう? もしそうなのならマシンを見直す必要があると思うが・・・ WinのバッチファイルでCGI組んでるやつの方が まだネタになるぞ
7 :nobodyさん :03/03/20 23:27 ID:???.net > WinのバッチファイルでCGI すごい穴になりそうだな
8 :nobodyさん :03/03/21 00:42 ID:dpOkqofd.net shスリプトでここまでできたという事例が聞ければうれしっす。 /bin/sh
9 :nobodyさん :03/03/21 00:46 ID:???.net >>7 つぅか標準入力を扱えない時点でCGI失格だと思われ。
10 :nobodyさん :03/03/21 07:21 ID:???.net C++ with MFC で家庭内LAN用のCGI作ろうとしてますが、何か? # CStringマンセー
11 :nobodyさん :03/03/21 09:19 ID:???.net 機会があればschemeで作ろうとしてるんですけど割と神ですか?
12 :nobodyさん :03/03/21 09:33 ID:???.net どこかで404とかのドキュメントを ブラウザの環境変数であれこれする shスクリプト見たような気がする
13 :nobodyさん :03/03/21 17:27 ID:???.net shbbs.cgi (1/2) #! /bin/sh if [ $REQUEST_METHOD = "POST" ] then cp log.txt dummy.txt printf "`cat -| awk -f filt.awk`" | sed -f filt.sed >> dummy.txt printf "<br>\n" >> dummy.txt tail -30 dummy.txt > log.txt fi cat <<END_OF_HEADER Content-type: text/html; charset=EUC-JP <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="Content-Script-Type" content="text/javascript"> <meta http-equiv="content-type" content="text/html; charset=EUC-JP"> <title>/bin/sh BBS</title> </head> <body onLoad="LoadCookie()"> <script type="text/javascript"><!-- function SaveCookie(val){ document.cookie = "handle_name="+escape(val)+"; path=/;"; }
14 :nobodyさん :03/03/21 17:29 ID:???.net sshbbs.cgi (2/3) function LoadCookie(){ var cookies = document.cookie.split(";"), value = ""; for(var i = 0; i < cookies.length; i++){ var piece = cookies[i].split("="); if (piece[0].replace(" ","") == "handle_name"){ if (piece[1] != null){ document.forms[0].name.value = unescape(piece[1]); } break; } } } --></script> <h1 align="center">/bin/sh BBS</h1> <hr> <dl> <dd> END_OF_HEADER cat log.txt
15 :nobodyさん :03/03/21 17:29 ID:???.net snbbs.cgi (3/3) cat <<END_OF_FOOTER </dd> </dl> <hr> <a name="form">post form</a> <form method="POST" action="shbbs.cgi#form" onSubmit="SaveCookie(this.name.value)"> name: <input name="name" size="19"> message: <input name="message" size="80"> <input type="submit" value="Write"> </form> <div align="right"><a href="shbbs.cgi#form">Reload</a></div> <hr> <div align="right">/bin/sh BBS ver 1.0</div> </body> </html> END_OF_FOOTER
16 :nobodyさん :03/03/21 17:30 ID:???.net filt.awk(1/3) BEGIN { FS="=" RS="&" } { key = "0123456789ABCDEFabcdef" str = "" i = 1 while(i <= length($2)){ d = substr($2, i, 1) i++ if (d == "%"){ oct = 0 for(j = 0; j < 2; j++){ oct *= 16 d = substr($2, i, 1) i++ for(k = 1; k < length(key); k++){ if (d == substr(key, k, 1)){ if (k > 16) k -= 6 oct += k-1 break } } }
17 :nobodyさん :03/03/21 17:31 ID:???.net filt.awk (2/3) # if (oct > 127) oct = 32 if (oct < 32) oct = 32 col = 64 dec = "" while(col > 0){ d = int(oct/col) dec = (dec d) oct -= d*col col = int(col/8) } str = (str "\\" dec) } else { if (d == "+") d = " " str = (str d) } } $2 = str }
18 :nobodyさん :03/03/21 17:32 ID:???.net filt.awk (3/3) $1 == "name" { name = $2 } $1 == "message" { message = $2 } END { RS = "\n" "date +'%y/%m/%d %T'" | getline time print ("[" time ": " name "] " message) }
19 :nobodyさん :03/03/21 17:32 ID:???.net filt.sed (1/1) s/&/\&/g s/</\</g s/>/\>/g s/"/\"/g
20 :nobodyさん :03/03/21 17:34 ID:???.net >>13-19 で、一行BBSできます。 log.txt,dummy.txtを作っといてね。 # 動作無保証。
21 :nobodyさん :03/03/21 17:39 ID:???.net >>19 s/&/\&/g s/</\</g s/>/\>/g s/"/\"/g うう。
22 :nobodyさん :03/03/21 18:02 ID:???.net うえーん!ソースコピペ荒らし反対!!!
23 :nobodyさん :03/03/21 18:25 ID:???.net >>22 すまんかった。
24 :nobodyさん :03/03/22 12:41 ID:Ve1PHIbC.net >>23 さん どんまい。shだけでも結構なことができるんですね。 おかわり!
25 :nobodyさん :03/03/22 19:29 ID:???.net >>24 私の技量ではあれが限界。 awkなんて初めて使ったよ。
26 :nobodyさん :03/03/23 14:34 ID:emAJ6ArI.net shスクリプトで投稿文のデコードはどう行なうの? http://www.mahoroba.ne.jp/~makkie7/CGI/cgi_008.html ここ見ながら勉強を初めたのだが、うちのサーバーには cgiparseというソフトが見あたらない。そのHPにはNCSA のサーバなら附属してくるとなっているが、 当方Apache なので。。。 どなたか御教示を頂ければ。
27 :nobodyさん :03/03/23 15:21 ID:???.net >>26 作ろか?標準入力から入ってきたデータURLデコードするプログラム。 って言うかawkでも使えば?じゃあPerl使った方が早いなぁ・・・。 って言うかPerlの関数呼び出しとshのプロセス起動させまくり、どっちが軽いの?
28 :nobodyさん :03/03/23 15:33 ID:emAJ6ArI.net >>27 様 おねげーしますだ。m(_ _)m できればawkのものが勉強のためにはうれしかったりします。
29 :nobodyさん :03/03/23 17:48 ID:???.net >>28 27じゃないけど、単に標準入力から読んでデコードして標準出力に書き出すだけならこれでいいかな。 きちんとテストしていないけど。一度全てバッファに取り込んだ方がいいかな? #include <stdio.h> #include <stdlib.h> int main() { char s[3]={0}; int c; while((c=getchar())!=EOF){ switch(c){ case '+': putchar(' '); break; case '%': s[0]=((c=getchar())==EOF)?'\0':c; s[1]=((c=getchar())==EOF)?'\0':c; putchar(strtol(s,NULL,16)); break; default: putchar(c); break; } } return 0; }
30 :nobodyさん :03/03/23 21:53 ID:emAJ6ArI.net >>29 様 ありがとうございます。 これはccでコンパイルした後、どうshスクリプトに組み込めばよいのですか。 初学者なものでお手数をとらせてもうしわけございません。
31 :名無しさん@カラアゲうまうま :03/03/23 22:26 ID:???.net sh スクリプトで URL デコード。 URL エンコードされてない無関係な文字列が入ってると破綻するけど。 % cat urldec.sh #!/bin/sh ( echo ibase=16; echo obase=8; echo "$@" | tr a-z% A-Z\\n ) |\ bc |\ while read a; do echo -e \\0$a done |\ tr -d \\n % sh urldec.sh %A4%DB%A4%B2
32 :nobodyさん :03/03/23 23:12 ID:826klXke.net >>11 おいらLISP(clisp)でつくってるよ〜 #! /usr/bin/perl open (MYLISP,">mylisp.lisp"); print MYLISP "S式"; close(MYLISP); system("clisp mylisp.lisp"); こんなんだけど・・・
33 :nobodyさん :03/03/23 23:15 ID:e2yFDnGv.net ★男はココを見るべし★女と金とサンプルムービー★ ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ http://www.pink-angel.jp/betu/linkvp2/linkvp.html
34 :nobodyさん :03/03/23 23:19 ID:???.net >>32 あんた、そっち公開しても仕方ないっしょ。
35 :名無しさん@カラアゲうまうま :03/03/23 23:26 ID:???.net そういえば、cgi じゃなくて httpd そのものが sh で書かれてるというのがあるんだった。 http://www.ascii.co.jp/pb/book1/announce/inet256/Source/shttpd
36 :nobodyさん :03/03/23 23:30 ID:???.net >>35 ああ、スーパサーバ使えば後は標準入出力のプログラムになるからなぁ。
37 :nobodyさん :03/03/24 00:11 ID:???.net >>35 <H1>ただいまメンテ中</H1> って吐くだけの同じ奴を使ってた事がある。 apache止めてる間だけとか。
38 :nobodyさん :03/03/25 15:20 ID:???.net mod_brainfuck で…。(誰か使ってる人いない?)
39 :nobodyさん :03/03/29 00:47 ID:???.net なつかしーな。1994年ごろは、カウンタっていったら、shとperlが半々だったきがする
40 :nobodyさん :03/04/06 00:59 ID:/7G2cvSN.net >>39 shスクリプトが生き残れなかったのはなんでだろう?
41 :nobodyさん :03/04/06 02:18 ID:???.net 外部コマンドを大量に起動するためにオーバヘッドが非常に大きく遅い。 shから呼ばれる外部コマンドのパスや引数や実装がOSによって大きく異なる。 あまつさえ/bin/sh自身がOSによって互換性がない。
42 :nobodyさん :03/04/08 01:54 ID:???.net >>41 うむ。その前提で限界に挑戦するのがおもしろいのではないのか?
43 :nobodyさん :03/04/11 06:31 ID:???.net 毎回自分自身がどのような環境に置かれた sh なのか調査した上で動き出すようにすればよい。
44 :nobodyさん :03/04/14 17:51 ID:???.net configureかよ!
45 :山崎渉 :03/04/17 12:09 ID:???.net (^^)
46 :山崎渉 :03/04/20 06:23 ID:???.net ∧_∧ ( ^^ )< ぬるぽ(^^)
47 :nobodyさん :03/05/01 00:19 ID:nSLOiiM0.net echo "AGE"
48 :bloom :03/05/01 00:29 ID:YcBKOzoM.net http://homepage.mac.com/ayaya16/
49 :nobodyさん :03/05/11 14:24 ID:???.net multipart/form-data ならデコードしなくて済むのでわ, と言ってみるテスト
50 :山崎渉 :03/05/22 02:06 ID:???.net ━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
51 :山崎渉 :03/05/28 17:18 ID:???.net ∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉
52 :名無しさん@Emacs :03/06/16 05:36 ID:???.net >>41 > 外部コマンドを大量に起動するためにオーバヘッドが非常に大きく遅い。 > shから呼ばれる外部コマンドのパスや引数や実装がOSによって大きく異なる。 > あまつさえ/bin/sh自身がOSによって互換性がない。 上のほうでシェルスクリプトがperlより軽いとか言ってるのはウソなんですね。
53 :nobodyさん :03/06/16 10:17 ID:???.net ほんとうに sh しか使わんのならかなり軽いよ。 ただ、ある程度以上の規模になると外部コマンドを fork せずに スクリプトを書くことができない。だから総体として重くなる。 ある程度以上の規模のスクリプトなら、 いったん中間言語にコンパイルしてから実行する perl にはかなわんね。
54 :nobodyさん :03/06/17 06:33 ID:???.net >いったん中間言語にコンパイルしてから実行する perl にはかなわんね。 テキスト−>解析−>実行 テキスト−>解析−>中間コード生成−>解析−>実行 Perlの方が遅くないか?JSPの初回起動みたいなもんだろ。 ループとかだと若干有利か。
55 :nobodyさん :03/06/29 00:14 ID:???.net @system("echo <HTML>")
56 :山崎 渉 :03/07/15 11:16 ID:???.net __∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
57 :山崎 渉 :03/08/02 02:35 ID:???.net ∧_∧ ( ^^ )< ぬるぽ(^^)
58 :ぼるじょあ ◆ySd1dMH5Gk :03/08/02 05:15 ID:???.net ∧_∧ ∧_∧ ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。 =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕 = ◎――――――◎ 山崎渉&ぼるじょあ
59 :山崎 渉 :03/08/15 23:04 ID:???.net (⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
60 :nobodyさん :04/01/29 09:43 ID:???.net 保守
61 : ◆s60O0vgq9M :04/01/31 22:01 ID:???.net rrr
62 :nobodyさん :04/12/11 02:12:40 ID:???.net 1994年ごろ、 カウンタつっても、Perlかshでつくったものしかなかったよ・・・なつかしや
63 :nobodyさん :04/12/11 02:13:19 ID:???.net うわ、11ヶ月ぶりのレスじゃねーかw
64 :nobodyさん :2005/11/29(火) 20:35:42 ID:6biAl2f4.net apacheでshでCGI動かす設定ってどうやるんですか? perlとC(バイナリ)では正常に動くんですけど・・・ shだと500 internal server errorになります。 ちなみにシェルはcsh使ってます
65 :nobodyさん :2005/11/30(水) 02:21:29 ID:???.net CGIなんだから、一行目にシェバングパスを書かないとだめだぞと。
66 :nobodyさん :2005/11/30(水) 07:51:57 ID:???.net >>64 hello.cgi ----------------- #!/bin/sh echo "Content-type: text/html\n\n"; echo "Hello";
67 :nobodyさん :2007/05/26(土) 09:24:51 ID:???.net ほす
68 :nobodyさん :2008/10/15(水) 20:02:22 ID:CwbSjCAQ.net ぺす
69 :nobodyさん :2008/10/21(火) 12:33:37 ID:???.net 昔アセンブラでCGI作って動かしてたな(´・ω・`)
70 :nobodyさん :2008/11/14(金) 13:01:21 ID:elYW8Na3.net >>26 つNKF
71 :nobodyさん :2008/11/14(金) 18:55:25 ID:???.net >>64 .shで動かしたいならスクリプトがあるディレクトリに.htaccessを作り、 AddType application/x-httpd-cgi .sh と書けばよい
72 :nobodyさん :2011/01/26(水) 22:13:55 ID:???.net シェルスクリプトでてきとうにURLでこーど #!/bin/bash #環境変数[QUERY_STRING]を[&]を空白に変換しパース _QRYVAL=`echo "$QUERY_STRING" | tr '&' '\t'` #引数解析 for v in $_QRYVAL do #[=]を空白に変換し配列化 v=(`echo "$v" | tr '=' '\t'`) #formの[name]に[value]を格納(URLデコード) eval "${v[0]}"="`echo ${v[1]} | tr % = | nkf -emQZ1`" done
73 : 忍法帖【Lv=1,xxxP】 【Dphp1330235948909060】 :2012/02/26(日) 14:59:08.63 ID:???.net t
74 :nobodyさん :2013/07/26(金) NY:AN:NY.AN ID:???.net echo "hoshu"
75 :nobodyさん :2015/11/11(水) 23:47:23.65 ID:OBd/4WeX.net 転職の際に必ず思い出してください。 下記の条件が全て当てはまる会社にご注意下さい。 ・IT系 in 東京 ・転職会議で2.5点 ・転職会議の「その他>2ch情報」の欄で過去の労基2chスレが表示される
76 :nobodyさん :2017/12/30(土) 13:05:12.28 ID:YhlYw6jg.net 誰でも簡単にネットで稼げる方法など 参考までに、 ⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。 グーグル検索⇒『半藤のブブイウイウレレ』 QSCHX4VEAB
77 :nobodyさん :2023/07/28(金) 22:53:09.15 ID:8WKutYuKg NISÅた゛なんた゛と自民公明か゛やってる資産所得倍増プランって、不労所得促進・技術カ破壞・消費抑制・格差倍増プランた゛からな 金刷って株買って資本家階級の資産倍増させて圓安誘導して惡い物価上昇させて曰本を八方塞がりに陥れた売国奴黒田東彦による 日銀の巨額の潜在損失を少しでも転嫁しようと、凄まし゛い副作用をア─ア―聞こえないやりなか゛らくわた゛ててるカ゛チキチ利権プランな さっさと自民公明を下野させて,黒田東彦を裁量権濫用による違法行為で逮捕懲役.安倍晋三とともに損害賠償させないと失われた40年た゛ぞ 共産主義の立憲や軍国主義の維新か゛どうにかできるものでもないが.まずは腐敗の権化自民公明をふ゛ち壞さないと何も構築て゛きないのか゛現実 早急に曰銀の保有株全部売り払って日経平均適正株価4千円にして、何ひとつ価値生産もせずに優越的地位を濫用しながら右から左に流して 政権癒着して私腹を肥やしてるた゛けの大企業を壞滅させるとともに,高度成長期の頃のように企業の新陳代謝を引き起こすのが唯‐の解な シナ製だらけに障害まみれに情報漏洩にサポ‐├までカット、いまた゛に大企業の製品サ一ヒ゛スだと安心て゛きるとか思ってんのは脳夕リンだけ 創価学會員は,何百萬人も殺傷して損害を与えて私腹を肥やし続けて逮捕者まて゛出てる世界最悪の殺人腐敗組織公明党を 池田センセ一か゛口をきけて容認するとか本気で思ってるとしたら侮辱にもほと゛か゛あるそ゛!https://i.imgur.com/hnli1ga.jpeg
78 :nobodyさん :2023/08/14(月) 03:06:53.10 ID:r7eC2tk2s 他人の権利を強奪して私腹を肥やす強盗殺人政治やってる論理もクソもない□クに勉強してない議員た゛らけ無能外道集団公明党と違って維新 は最低限の知的能力を有してる奴か゛多いのは橋下徹の意向て゛容赦なく知的能力の足切りやってる成果なんた゛ろうけど、いい年して玉遊びとか してる無能を讃えてみたり.日本に原爆落とした世界最悪のならず者国家の覇権主義に利用されてるウクライナ状態になるリスクを無視して 軍拡推進してみたり、危険極まりない原発推進すれは゛電気料金は下か゛るだのほざきがら鉄道の3О倍以上もの非効率クソ航空機によって莫大 な石油無駄に燃やしてヱネ価格暴騰させて温室効果ガス倍増させて気侯変動させて災害連発させて貿易赤字に,そんなハ゛カの象徴万博を誇っ てみたり、騒音によって知的産業に威カ業務妨害して壞滅させて原發とか笑わせるレベ儿にまで曰本の技術カ低下させて、勉強妨害して犯罪 惹起しなか゛ら動物虐待は罸則強化しろ.子の虐待には金くれてやれだの.いつの間にか憲法の下の平等に反しないヘ゛─シックインカムも言わ なくなって社會分断惹起して治安惡化とか、頭は回るか゛古い教育制度による時代遅れの固定観念による思慮のなさは直情的な橋下徹由来かな 創価学會員は,何百万人も殺傷して損害を与えて私腹を肥やし続けて逮捕者まで出てる世界最惡の殺人腐敗組織公明党を 池田センセ―が□をきけて容認するとか本氣で思ってるとしたら侮辱にもほどか゛あるそ゛! hТtps://i.imgur、соm/hnli1ga.jpeg
79 :nobodyさん :2023/11/28(火) 11:52:49.45 ID:0qUWjJTCs 地球破壞テロリスト自閉隊がÅDS-Bも出さずにCН-47やら都心付近までクソ爆音航空機飛ばしまくって低周波騷音被害を引き起こしてるな 内心民間人に中指立ててる自閉隊とは国民の生命と財産を守る存在ではなく税金泥棒しながら莫大な温室効果ガスまき散らして 物価暴騰させて住民の権利を強奪して氣候変動させて災害連發させて国土まで破壊して私腹を肥やすテロリストの典型だからな 戦争前のウクライナの軍事予算はGDp比4%以上あったわけだし軍のクーテ゛ターによって政権掌握されたミャンマ一はGDP比2%台 徴兵して拒否すれば犬コロ公務員に制圧させて殺害可能な社会にしようとしてるのが岸田異次元増税憲法ガン無視地球破壊覇権主義文雄 真の防衛として利権を貪って税金泥棒して地球破壊して私権侵害して私腹を肥やすだけの人類に湧いた害虫クソ公務員を全滅させて 一刻も早く拳銃、スティンガー.手榴弾を新三種の神器にしないとお前らウクラヰナやロシアの逃亡民みたいな目に合うぞ ちなみにどちらも逃亡民は国境警備兵に逮捕されて最前線に送られとるわ (羽田]ttРs://www.call4.jp/info.Рhp?tyρe=items&id=I0000062 , tΤPs://hanеda-project.jimdofree.com/ (成田)TtPs://n-souonhigaisosyoudan.amebaownd.com/ (テロ組織)tтps://i.imgur.com/hnli1ga.jpеg
21 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★
本文 スレッドタイトル 投稿者