トップページphp
997コメント327KB

【PHP】自作スクリプト発表会

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/03/30 11:55ID:M/C/V7hb
自分が書いたPHPスクリプトを発表するスレ。
初心者が書いた入門スクリプト、ベテランが書いたすげースクリプト。
発表してね。
予めスクリプトの内容を明記してURLを貼り付けるのがよろしいかと。
マターリ進行でいきませう。

PHPが使える無料サーバ情報(レッツPHP!):
http://php.s3.to/php/
0713nobodyさん2006/03/16(木) 20:51:07ID:???
だからスルーしろって
春だなぁ・・・
0714nobodyさん2006/03/16(木) 20:59:57ID:???
おいおい「春」って・・・ 2ch初心者かよwww
頼むから「逝ってよし!」とか使わないでくれよ
0715nobodyさん2006/03/16(木) 21:02:29ID:???
714 名前: nobodyさん [sage] 投稿日:2006/03/16(木) 20:59:57 ID:???
おいおい「春」って・・・ 2ch初心者かよwww
頼むから「逝ってよし!」とか使わないでくれよ


お前恥ずかしいからそろそろやめとけ
0716nobodyさん2006/03/16(木) 21:11:33ID:???
>>715
「春」だの常用しちゃって、恥かしいのはお前だろw
0717nobodyさん2006/03/16(木) 21:18:29ID:???
716 名前: nobodyさん [sage] 投稿日:2006/03/16(木) 21:11:33 ID:???
>>715
「春」だの常用しちゃって、恥かしいのはお前だろw



皿仕上げ
文末にw付けてるお前のほうが恥ずかしいよ
0718nobodyさん2006/03/16(木) 21:19:11ID:???
>>710=>>712=>>714=>>716
こういうのまだ居るのか・・・
0719nobodyさん2006/03/16(木) 21:19:35ID:???
おいおい「春」って・・・ 2ch初心者かよwww
頼むから「逝ってよし!」とか使わないでくれよ
0720nobodyさん2006/03/16(木) 21:19:50ID:???
常用の意味が分かってないようで
0721nobodyさん2006/03/16(木) 21:28:25ID:???
まーた春厨の煽り合いか…
飽きない奴らだな
0722nobodyさん2006/03/16(木) 21:32:48ID:???
713 名前:nobodyさん[sage] 投稿日:2006/03/16(木) 20:51:07 ID:???
だからスルーしろって
春だなぁ・・・


ブチキレてやんのwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0723nobodyさん2006/03/16(木) 21:33:44ID:???
711 名前:nobodyさん[sage] 投稿日:2006/03/16(木) 20:34:32 ID:???
>悔しかったら何か晒してみろバーカwww
スルーできてないじゃん
てかバーカwwwってガキかよ。。
スルーするならアンカーつけんな


皿仕上げ
文末にw付けてるお前のほうが恥ずかしいよ
0724nobodyさん2006/03/16(木) 21:34:52ID:???
718 名前:nobodyさん[sage] 投稿日:2006/03/16(木) 21:19:11 ID:???
>>710=>>712=>>714=>>716
こういうのまだ居るのか・・・


(ノ∀`) アチャー

0725nobodyさん2006/03/16(木) 21:36:02ID:???
705煽り耐性ゼロだな
0726nobodyさん2006/03/16(木) 21:36:09ID:???
>>709
技術の見本プリーズ
0727nobodyさん2006/03/16(木) 21:40:15ID:???
705のキチガイが消えるまで無理だろ
07286462006/03/16(木) 21:44:23ID:???
>>705
分かりやすいコメントの書き方って難しいよね。

>>709
ぶっちゃけ、綺麗なアーキテクチャにとことんこだわるタイプです・・・。
自分はSEとかには向いてないだろうなーと思う。
納期とか守る自信ないし、やっつけ仕事的なコーディングをすることに耐えられないと思う。
0729nobodyさん2006/03/16(木) 22:07:00ID:???
>>722-724
なんだこの酷い自演
0730nobodyさん2006/03/16(木) 22:09:26ID:???
>>717-720
なんだこの酷い自演




さすが>>705 脳が退化してる暇人
0731nobodyさん2006/03/16(木) 22:11:08ID:???
飽きれて物も言えないな
0732nobodyさん2006/03/16(木) 22:14:40ID:???
>>705,>>711,>>713,>>715,>>717,>>718,>>720,>>721,>>729
>>710,>>712,>>714,>>716,>>719,>>722,>>723,>>724,>>725,>>730

両者そろそろうざい
それと>>730
煽るなら失敗はするなよ、自分をアンカーに入れて何がしたいんだ
0733nobodyさん2006/03/16(木) 22:15:45ID:???
>>705






























ぷっ
0734nobodyさん2006/03/16(木) 22:26:55ID:???
>>732
お前もうざい
0735nobodyさん2006/03/16(木) 22:32:07ID:???
>>734
705乙
0736nobodyさん2006/03/16(木) 22:40:15ID:???
ち○こと705は無視しろよ。
0737nobodyさん2006/03/17(金) 00:45:59ID:???
>>728
せっかくなので E_STRICT も有効にしてみては?
いろいろ表示されてますよよよ。
0738nobodyさん2006/03/17(金) 00:49:06ID:???
必死な少佐がいると聞いて飛んできますた
0739nobodyさん2006/03/17(金) 00:52:50ID:???
   _, ,_  パーン
 ( ‘д‘)  
   ⊂彡☆))'A`)>738
07406462006/03/17(金) 01:31:17ID:???
>>737
すんません。PHP5は対象外なのです・・・。
0741nobodyさん2006/03/17(金) 10:29:27ID:???
久しぶりに来たらなんか伸びてるね
このメモ編集システムおもしろそう
07426462006/03/17(金) 15:21:30ID:???
>>741
それは、どうも。
このスクリプトって、外面的には、
初心者が勉強の一環として試しに作ってみた程度の機能しかついてないですけどねw
内面(セキュリティの面など)はそれなりのレベルまで高めてあるつもりですが。
0743nobodyさん2006/03/17(金) 21:13:37ID:???
>>742
セキュリティ重視なら表示くらいエスケープしなきゃだめじゃないっすかw
たぶんIEでしかチェックしていないんだと思いますけどFirefoxやOperaだと
削除できなくなりますよよよ。
それからPHP4で配列受けは大丈夫なんでしたっけ?
Windows版は今でも下みたいのをPOSTすると異常な動作しますけど。
$str = 'str';
for ($i = 0; $i < 10000; $i++) {
$str .= '[]';
}
$str .= '=test';
07446462006/03/17(金) 22:49:09ID:???
>>743
WinIE, Firefox(Win), Opera に加え、MacIE, Safari, Firefox(Mac), Konquerer(Linux) でもテストをしました。

削除できないとのことですが、よろしければそちらの環境を教えていただけますでしょうか?
出来るだけ環境に依存しない仕様にしたいので。

> セキュリティ重視なら表示くらいエスケープしなきゃだめじゃないっすかw 

このスクリプトは、サーバーの管理権限を持つユーザー(サイト運営者など)のみが
データの編集を行うことを想定しているため、
タグや実体参照のエスケープはしないようにしました。
ただし、万が一悪意のあるユーザーにログインされてしまうと、
クロスサイトスクリプティングによる攻撃を受ける可能性があるため
その危険性については readme.txt 内で言明してあります。

wiki や掲示板など、不特定多数のユーザーがデータを編集できるシステムについては
当然ながらデータを適切な形に変換する処理が必要だと思います。
0745nobodyさん2006/03/17(金) 22:54:06ID:???
いや、クローズドにしてても普通はエスケープ処理するよ
そんなの言い訳に逃げてちゃいかん
XSS対策しておくに越したことはない
07466462006/03/17(金) 23:08:26ID:???
>>745
自由にタグとか使えたほうが便利なんだけどな・・・(´・ω・`)

でも、利便性よりセキュリティを取る人もいるだろうし、
今後は、データにXSS対策を施すかどうかを
設定できるようにしたほうがいいかもしれないですね。
0747nobodyさん2006/03/17(金) 23:10:22ID:???
別に全部タグをエスケープしなくてもいいじゃない
使えるタグを設定できるようにすればいい
0748nobodyさん2006/03/17(金) 23:42:06ID:???
あれじゃタグ使えないとむしろ使いにくくない?
わざわざ認証つけて管理者しか使えないようにしてるんだから、
十分な気がするよ。
0749nobodyさん2006/03/17(金) 23:54:15ID:???
nucleusのソースと書き方似てる人多いね
07506462006/03/18(土) 00:23:10ID:???
>>749
nucleus のソースをダウンロードして中身を見てみた。
似てるのかな?w

コメントが Javadoc 形式なのは同じだと思います。
0751nobodyさん2006/03/18(土) 19:19:19ID:???
HTMLが使える使えないじゃなくて
入力されるデータによって操作できなくなるのは問題だな。
plaintext要素なんて使う奴居ないだろうけど。

>>737
PHP4.4以後の事を言ってるんだろうが
実行環境言わない奴はよく訓練されたベトコンだ。
0752nobodyさん2006/03/18(土) 19:23:31ID:???
まあ、いまのふいんきだと、気軽にショボイやつを発表するのはツライと言う事が
よくわかった。
0753nobodyさん2006/03/18(土) 22:32:16ID:???
>はよく訓練されたベトコン
出たよ
07546462006/03/19(日) 01:02:35ID:???
>>751
あ〜。なるほど。
例えば終了タグを閉じわすれたりとかね。
故意でやることはないと思うけど、"</form>"などの文字列を登録しちゃったらアウトですよね。

自己責任、と言いたいところだけど、やっぱり将来的には
特殊文字関連の扱い方をしっかり考えていきたいところです。
0755nobodyさん2006/03/19(日) 01:05:31ID:???
少佐はいますか?
0756nobodyさん2006/03/19(日) 01:09:08ID:???
つかSSIのタグ以外はエスケープしないでも大丈夫に思えるが
07577432006/03/19(日) 16:34:19ID:???
>>751,753
ベトコンのことは良く知りません。ベタコンなら知ってます。

>>754
そゆことです。

>>752
参加しやすいようにテンプレ作っといたから使ってみてちょ。

【設置場所】 http://example.com/test.php
【ソース】 http://example.com/test.txt
【プログラミング経験】 3ヶ月 / 1年 / 3年
【希望評価スタイル】 悪い部分を指摘して欲しい / 良い部分を指摘して欲しい
【自分の性格】 かかってこいや! / またーり / 叩かれると自殺しちゃうかも
【備考】 B90/W58/H86 です。
0758nobodyさん2006/03/19(日) 16:35:47ID:???
>>757
> 【備考】 B90/W58/H86 です。
これはほんとうですか
0759nobodyさん2006/03/19(日) 17:59:34ID:???
W59とか58は、実際は61〜65だというのが定説です。
0760nobodyさん2006/03/19(日) 18:40:58ID:ShpQS04P
【ソース】 http://www2.nct9.ne.jp/dorayaki/bbs.zip
【プログラミング経験】 6ヶ月
【職業】 工房(2年)
【備考】
掲示板を製作していたのですが、受験勉強のため、泣く泣く開発を中断しました。
どうせいじれないソースなら、公開してみなさんの意見を聞いたほうがいいと思っ
たので公開します。
サーバの設定に依存するところが多いので、設定ファイルも一緒にダウンロードで
きるようにしました。動かしたい人はそれを使ってください。
07617602006/03/19(日) 18:49:47ID:???
追加です。
・サーバルートにはbbs/publicディレクトリを指定してください。
・bbs/php_includes/parts/conf.phpのBASE_DIRは適宜変更してください。
説明が下手ですね…
0762nobodyさん2006/03/19(日) 18:51:51ID:???
アフィリエイトでお小遣い稼ぎしてたん?w
0763nobodyさん2006/03/19(日) 18:56:06ID:???
>>759
どうもありがとう。Wの部分が改変されやすいんですね。
07647602006/03/19(日) 18:57:18ID:???
>>762
私ですか? 私はやってませんけど、以前兄がやってたみたいです。
googleのインデックスにそれっぽいのが残ってますね。
私も公開したスクリプトでアフィリエイトしようかとたくらんで
いたのですが、開発が面白すぎるので、もうそっちはどうでもい
い感じです。
0765nobodyさん2006/03/19(日) 18:58:16ID:???
そかそか、受験頑張れよー。
07667602006/03/19(日) 18:59:59ID:???
>>765
ありがとうございます。
スクリプトの評価を楽しみにしながら受験勉強がんばります!!
0767nobodyさん2006/03/19(日) 23:13:03ID:???
>>760
う〜ん、この状態だと自分専用で他人が動かしてみようと言う気分にならないような。
標準で関数が揃っているものは自動化推薦(pathとか)
動かしてないからわかんないけどエラー処理が弱そうなのでその辺も強化すべし。
全体としてはこぎれいではあるけど読んで面白いプログラムではなさそうかな。
まあ、まずはプログラムより受験だね。
0768nobodyさん2006/03/20(月) 09:07:01ID:???
>>760
工房でこれだけ書ければ立派。
受験もガンガレ!
0769nobodyさん2006/03/20(月) 15:22:06ID:???
普通の工房なら立派
情報系の工房ならまぁ普通
07707602006/03/20(月) 15:55:01ID:???
>>767
>>768
>>769
ソースをダウンロードしていただいてありがとうございます。

>>767
pathの解析などは、自分でも無駄が多いと思っていたので、息
抜き時間ができたら、またいじくってみます。アドバイスあり
がとうございました。

>>768
そういっていただけるとうれしいです。受験勉強もガンガリます。

>>769
工でも情でも、ましてや商でもなく普通の工房です。

ちなみに、サーバのドキュメントルートにbbsフォルダごとぶっこ
んで、bbs/public/index.phpにアクセスするだけで動くように調整
してみました。(要 Apache & PHP5)
【ソース】 http://www2.nct9.ne.jp/dorayaki/bbs.zip
0771nobodyさん2006/03/21(火) 22:35:49ID:???
こらこら、遊んでないで勉強すれw
面白いものを作ろうと思ったら高校レベルの数学は必須だと思うぞ。
1例としてサイトを紹介しようと思ったけど時間の浪費になると思うのでやめとく。
とにかく今は勉強すれ。絶対損はしないから。
07726462006/03/22(水) 01:39:04ID:WKCyChdz
URI の validation システムを作ってみました。

【設置場所】 http://trashtoy.dw.land.to/app/uri/
【ソース】 http://trashtoy.dw.land.to/app/uri/uri.zip
【プログラミング経験】 3年
【希望評価スタイル】 重箱の隅をつっつくような細かい指摘もどしどしお願いします。
【自分の性格】 アーキテクチャにとことんこだわるタイプ。納期を守るのはたぶん苦手。
【備考】 現在、この uri モジュールを使って memo システムのアドバンス版を作成中。

>>760
高3でここまで作れるのは正直凄いと思う。僕が高3のときはPCに関してはド素人だったし。
受験も頑張ってね! ちなみに自分はただいま就活の現実逃避中。
0773nobodyさん2006/03/22(水) 15:23:56ID:???
>>772
parse_url を使った方がコンパクトでよいと思うよ
0774nobodyさん2006/03/22(水) 15:50:20ID:???
>>772
parse_urlを使わないことで得られる利点を教えてプリーズ
0775nobodyさん2006/03/22(水) 16:36:36ID:???
>>773 >>774
parse_url が扱うことが出来るのはあくまでも URL (Uniform Resource Locator) なので。
機能拡張して、URI (Uniform Resource Identifier) 全般を扱えるようにしたかった。

あと、このモジュールは ABNF に厳密に対応しているんだけど(まだ一部だけ手を抜いてるけど)、
将来的には、この文法に動的に制限を加えて書式を限定できるようにすることも視野に入れてます。
(例えば、"mailto:メールアドレス" 形式だけを受け付けられるようにしたり)

このシステム自体は、uri.php のテストのために作っただけです。
0776nobodyさん2006/03/22(水) 16:39:15ID:???
>>771
私は>>760さんと同じ高2です。
もし良ければ、そのサイトを教えていただけませんか?
数学はVは積分法の応用、Cは統計と確率が残っていますが、まだ厳しいでしょうか?
というのも、プログラミングで遊ぶのはこの春休みまでにしてパソコンは封印し、そのかわりに今のうちに多くのことを見ておきたいと思っています。
プログラミングは1年半で、CとC#とPHPしかできません。
0777nobodyさん2006/03/22(水) 17:50:21ID:???
$this->使うのとself::使うのはどう違うん?使い分けは?
0778nobodyさん2006/03/23(木) 02:17:21ID:???
数学なんてプログラミングにいるか・・・?
自分で複雑なアルゴリズムでも作るのか
0779nobodyさん2006/03/23(木) 02:30:04ID:???
ぼく引算はできないけど足算ならできるお!
0780nobodyさん2006/03/23(木) 02:58:33ID:???
>>778
2Dや3D、ゲームの世界なら必須
0781nobodyさん2006/03/23(木) 09:44:11ID:???
書き忘れましたがソースのダウンロード一回につき200円になりますので。
0782nobodyさん2006/03/23(木) 10:23:45ID:???
>>778
> 数学なんてプログラミングにいるか・・・?
> 自分で複雑なアルゴリズムでも作るのか

いるに決まってるだろアホ。
てめえみたいなのがいるからプログラマの単価がさがるんだよ。
氏ね
0783nobodyさん2006/03/23(木) 10:28:18ID:???
おまえらまとめてサインコサインタンジェント〜♪って歌っとけ。
0784nobodyさん2006/03/23(木) 10:32:05ID:???
その程度のレベルかよ。
ゲームプログラマですらその程度では
足りね。

くだらね。
0785nobodyさん2006/03/23(木) 11:04:16ID:???
オブジェクト指向が理解できないまま
プログラミング歴6ヶ月の高校生に追い抜かれた
0786nobodyさん2006/03/23(木) 16:02:52ID:???
オブジェクト指向も数学もできない奴はこの業界にはイラン。
0787nobodyさん2006/03/23(木) 16:06:16ID:???
微分や積分をクラスを使って管理できるくらいの能力は養うべき。
0788nobodyさん2006/03/23(木) 18:38:10ID:???
>>782
や、”プログラマ”は底辺ですから
0789nobodyさん2006/03/23(木) 18:44:26ID:???
ちん○は相手にするなと言ってるだろ
0790nobodyさん2006/03/27(月) 11:59:22ID:???
ここに現れる新人は潰されるということでよろしいか
0791nobodyさん2006/03/27(月) 14:33:19ID:???
>>788
底辺はお前だけ。
お前はソフトウェア工学を一生懸命勉強してきた人間に謝れ
0792nobodyさん2006/03/27(月) 15:28:48ID:???
はぁ、プログラマの実態を知らない夢見がちな青年が居るようで
0793nobodyさん2006/03/27(月) 15:40:19ID:???
ちん○は相手にするなと言ってるだろ
0794nobodyさん2006/03/27(月) 15:43:30ID:???
ソフトウェア工学(笑
0795nobodyさん2006/03/28(火) 22:20:19ID:???
>>518
このメールスクリプトもう手に入らないのかな・・
0796nobodyさん2006/03/29(水) 00:03:15ID:???
>>698
これでパスワードにxml使ってる意義って何?
単純に興味があるだけなんだけど
0797nobodyさん2006/03/29(水) 10:35:32ID:???
少佐どこ?
0798nobodyさん2006/03/29(水) 12:38:19ID:???
>>795
どうぞー
http://life.my.land.to/src/Send_Mail.zip
07996462006/03/29(水) 22:22:44ID:???
>>796
確かに、このシステムの場合だったら
パスワードのみが書かれたテキストファイルさえあれば十分なんだけど、
より汎用的な認証モジュールを活用したため、結果的に XML フォーマットになりました。

このモジュールが XML を扱う理由は2つあって、
まず、一番大きい理由が、自分ルールのフォーマットを作りたくなかったこと。
例えば 「ログイン名とパスワードを ":" で区切って、各ユーザー情報を改行で区切る」 
みたいなものです。
自分ルールの何が嫌かと言うと、そのソースを見る人が苦労するかもしれないから。
まあ、上の例で挙げたようなルールだったら簡単に推測できるだろうけど。
その分、XML の場合はフォーマットの中にそのデータの意味を含めることが出来るので
(このモジュールのXMLの場合は、要素名に name や password という単語を使っている)
より分かりやすいフォーマットになると思ったのです。

次に、応用が簡単なフォーマットであること。
W3C から勧告されている、XML 関連の様々な技術の適用対象となるので
例えば、第三者がこのスクリプトを拡張してこのパスワードファイルを別な用途にも使いたい
なんて時に、応用が簡単になる可能性があります。
フォーマットをYAMLにしなかった理由はここにあります。
08006462006/03/29(水) 22:27:21ID:???
ちなみに、このシステムでこの認証モジュールを使う利点も2つあります。

まず、その他の認証システムとモジュールを共有できること。
それぞれのシステムで共通したモジュールを使うすることで、モジュールの数を少なくすることができるし、
もしもこの認証モジュールにバグが見つかって複数の認証システムに影響がおよんだ場合でも、
1つのファイルだけをアップデートすれば済みます。

あと、リファクタリングが容易なこと。
例えば、今はパスワードだけでログインするようになってるけど、
今後のバージョンアップで、ログイン名+パスワードでログインできるような仕様にして
さらに複数の認証情報を登録できるようにしたい、なんてことがあっても
最小限の変更で実現できるようになります。
まあ、実際はそういう変更はしないと思うので、これは利点とはいえないけど。
0801nobodyさん2006/03/30(木) 09:28:10ID:???
Fatal error: Only variables can be passed by reference in c:\program files\apache group\Apache\htdocs\memo\lib\notation_finder.php on line 27

って言われた
08026462006/03/30(木) 15:41:19ID:???
>>801
あー、関数の返り値をそのまま他の関数に参照渡ししてますね。報告thx。
ttp://blog.ohgaki.net/index.php/yohgaki/2005/07/13/

というわけで修正しました。
http://trashtoy.dw.land.to/app/memo/memo.zip ;

この手のエラー、他のところでもやってそうで怖い(´・ω・`)
0803nobodyさん2006/04/02(日) 11:15:08ID:???
なんかリンク先見てもようわからんのだけど、
下のコードのように返り値を直接代入するとエラーで、上のように一旦変数に入れればOKってこと?
0804nobodyさん2006/04/02(日) 13:38:08ID:???
君には勉強が必要だ
0805nobodyさん2006/04/02(日) 13:53:00ID:???
>>803
あくまでも、駄目なのは「参照渡し」ね。

function &hoge(){
    static $x = 1;
    return $x;
}
function increment(&$value){
    $value ++;
}
$a = hoge();
$b =& $a;
increment($b); // これはOK
increment(hoge()); // これは駄目
0806nobodyさん2006/04/02(日) 15:42:20ID:???
矢切の渡しはOK?
0807nobodyさん2006/04/02(日) 16:44:05ID:???
アリの戸渡りはOK?
0808nobodyさん2006/04/02(日) 18:38:47ID:???
矢口の渡に住んでいた事があるので、すべてOKです。
0809nobodyさん2006/04/02(日) 18:45:04ID:???
807はエロい人
0810nobodyさん2006/04/02(日) 19:17:40ID:???
渡哲也と渡瀬恒彦は兄弟
08117722006/04/07(金) 19:27:39ID:jJE5oi/7
772 で公開した URI の validation システムをバージョンアップしました。
相対 URI も解釈可能です。

【設置場所】 http://trashtoy.dw.land.to/app/uri/ ;
【ソース】 http://trashtoy.dw.land.to/app/uri/uri.zip ;
【プログラミング経験】 3年 
【希望評価スタイル】 重箱の隅をつっつくような細かい指摘もどしどしお願いします。 
【自分の性格】 アーキテクチャにとことんこだわるタイプ。納期を守るのはたぶん苦手。 
【実行例】
http://trashtoy.dw.land.to/app/uri/?uri=..%2Fsection%2F1.html%23TOC&base=http%3A%2F%2Fexample.com%2Fsitemap%2Findex.html
http://trashtoy.dw.land.to/app/uri/?uri=file%3A%2F%2F%2FC%3A%2FProgram%2520Files%2FInternet%2520Explorer
http://trashtoy.dw.land.to/app/uri/?uri=mailto%3Athis_is_a_test@example.com
【備考】 花見をもっと楽しみたかった。
0812nobodyさん2006/04/07(金) 20:27:29ID:???
>>811


スクリプト指摘じゃないですが
http://trashtoy.dw.land.to/app/uri/
「省略化」になってる。
■ このスレッドは過去ログ倉庫に格納されています