△▲ WebProg 初心者の質問 Part22 ▼▽
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/05/03(月) 16:42:08ID:???質問したいけど、どうしたら良いか分からない。
そんなときは、ここに書き込んでください。
板の住人や、その他が、けなしながら、厳しく教えてくれるかも。
質問する前に、まずはここを読んでね。
【注意事項】
・質問する前にGoogleで検索してみましょう
http://www.google.co.jp/
・環境(ソフトウェアのバージョンなど)は、必ず書いてください。できるだけ詳しく。
後から情報を書き足す、いわゆる情報の小出しは極力避けてください。
・何がしたくて、何ができて何ができないのかを書きましょう
・マルチポスト(複数のスレッドで質問する行為)は絶対に禁止です。
・過去ログは必ず読みましょう。あなたと同じ質問をしてる人がいるかも知れません。
2ch 総合ガイド
http://www.2ch.net/guide/
お願い。
適切な、板、スレ、を発見した場合、誘導してあげましょう。
スレの性質上 age 進行でお願いします。
関連情報は
>>2-4辺り
☆前スレ☆
△▲ WebProg 初心者の質問 Part21 ▼▽
http://pc11.2ch.net/test/read.cgi/php/1257701535/
0567554
2010/10/25(月) 03:22:59ID:QKIzNvWNはい、そうです。
現状ですとロボットサーチエンジにファイルを発見されても突破されてしまいます。
画像黄色枠内のほうほうですと硬いような気がします
0568nobodyさん
2010/10/25(月) 06:41:16ID:???0569nobodyさん
2010/10/25(月) 06:52:45ID:???0570554
2010/10/25(月) 07:53:13ID:QKIzNvWNフリーで配りたいので自由度の無いレンタサーバーでも動くようにしたいのです。
データーベースとかは普通は付いてない。
0571nobodyさん
2010/10/25(月) 08:10:33ID:???0572nobodyさん
2010/10/25(月) 19:08:17ID:???0573nobodyさん
2010/10/25(月) 19:58:43ID:???0574nobodyさん
2010/10/25(月) 20:11:19ID:???0575nobodyさん
2010/10/26(火) 11:56:21ID:FWZfMSvT文字コードをutf-8で送信するにはどうすれば良いのでしょうか?
スクリプトはsjisです。
0576nobodyさん
2010/10/26(火) 12:18:13ID:???0577nobodyさん
2010/10/26(火) 16:01:56ID:???iPhoneでちょっとしたゲームを作成しようと思っています。
そこでゲーム内のスコアをサーバに反映させたいのですが
この様な場合、iPhone(Objective-C)側でスコアを
サーバに向けて投げると思うのですが、
@スコアを受け取ったサーバ側ではどの様に
iPhoneからの送信データを受け取りDBに反映させれば
良いのでしょうか?
DBについては、MySQLで良いとは思うのですが
CGI側のソースには何を使用するのが一般的なのでしょうか?
(PHP / Perl / C)
スコアは、Objective-C側でhttp://test_server/iphone.php?score=1500
的なアクセスをして実行結果をjSon形式やXML形式でデータのやりとりを行うのでしょうか?
0578nobodyさん
2010/10/26(火) 16:03:28ID:???0579nobodyさん
2010/10/26(火) 16:13:44ID:???0581575
2010/10/26(火) 17:06:08ID:FWZfMSvTレスありがとうございます。
Encodeするには、どうすれば良いのでしょうか?
0582nobodyさん
2010/10/26(火) 17:19:45ID:???0583nobodyさん
2010/10/27(水) 12:05:25ID:1WAhUTBdマルチスレッドなwebアプリってあるんですか?
rubyやphpのwebアプリで、2つめ以降のスレッドを
スタートさせるようなソースって、あるのか?
あるとしたら、それは果たしてどれぐらい一般的なやり方なのか?
という質問です。
webプログラマ志望なんですが、
マルチスレッドについて考えたことがほとんど無く、
それってもしかしてまずいのかと思って質問させていただきました。
よろしくお願いします。
0584nobodyさん
2010/10/27(水) 12:24:55ID:???リクエストの度にそこから暇なスレッドを取ってきて処理を任せる感じ?
Rubyだと複数のリクエストの同時処理はプロセスを分けるんじゃ
ないかな。実際にはPassengerやUnicornとかのワーカーに任せる形で。
あと、単純に時間のかかる処理は、DRbサーバを立てておいて、そっちに
飛ばすと思う。
PHPは知らない。
0585583
2010/10/27(水) 12:47:21ID:1WAhUTBdつまり、プロセスとかスレッドのことを考えるのは、
アプリ層より下の、サーバーソフトの仕事って感じで、
webアプリ開発者は、明示的にスレッド起動のコードは
ほぼ書く機会がないと考えていいのかな?
1つのhttpリクエストが、
2つ以上のプロセスやスレッドによって処理されるということは
ないと思っていいんでしょうか。
0586nobodyさん
2010/10/27(水) 13:06:23ID:???0587nobodyさん
2010/10/27(水) 14:48:27ID:???Dim s As String = String.Format("今日は{0}日です",33)
{0}を使う記述するにはどうすれば良いですか?
0588nobodyさん
2010/10/27(水) 14:57:39ID:???{0}を使うって何?
0590nobodyさん
2010/10/27(水) 15:45:22ID:???0591nobodyさん
2010/10/27(水) 15:59:07ID:???知らないだけでしょ?
0592nobodyさん
2010/10/27(水) 16:00:11ID:???質問はそうだったはず
0593nobodyさん
2010/10/27(水) 17:01:09ID:???0596nobodyさん
2010/10/27(水) 18:35:05ID:???書式が面倒だから慣れてない人は使わないだろうね
コーディング規約で正規表現を使っていけないとこなら
Format書式の使用も禁止になってたりするのかも
0598nobodyさん
2010/10/27(水) 21:39:15ID:???0599nobodyさん
2010/10/28(木) 00:05:11ID:???つまり(?)セキュアなサイト運営をしたい時(?)
不正なアクセス(存在しないページへのアクセスなど)があった時って、
どうするのが一般的ですか?
それ専用のDBにリファラとアクセス時間、アクセスしてきたIPアドレスとともに記録するのが普通ですか?
漠然とした質問ですが、ご意見お願いします。
0600nobodyさん
2010/10/28(木) 00:37:57ID:???0601nobodyさん
2010/10/28(木) 00:42:58ID:IPjFAMR8エラーログだけでいいんですかね?
それでいいかぁ〜って思ってたんですが、ひょっとしてそれじゃ駄目だって意見と
「なるほどなぁ」っていう理由があるのかと思って聞いたんですが…
(リファラとIPアドレスだけならエラーログで良いじゃんというのはその通りですよね)
他に重要な見落とししてないでしょうか。 たとえば、管理画面のエラー管理で…
0602nobodyさん
2010/10/28(木) 01:17:11ID:???そこまで不安なら全てhtmlのみで作成すればいいと思うよ
0603nobodyさん
2010/10/28(木) 01:30:11ID:???0604nobodyさん
2010/10/28(木) 02:08:36ID:???面白アクセスなら 200 OK のほうが多いでしょ。
投げて来るPOST内容がお茶目だったりするわけで。
0605nobodyさん
2010/10/28(木) 02:20:18ID:???不正なアクセスが何かってのを履き違えてると思う
存在しないファイルにアクセスするだけだったらエラーページ見せればいい
不正なアクセスってのは意図しない動作を引き起こすようなアクセスのことじゃないか?
気をつけることとしては、
画像をサルベージされて困るならファイルを連番で保存しない、長めのランダム文字列にする等推測しにくいものにする
ユーザーの入力をCGI側でチェックしたりなんだりして、誤作動を起こすような文字列をわたせないようにする
データベースを使っているならSQLインジェクションに気をつけてプレースホルダを使ったりする
evalしてるならそもそもしなくていいように実装し直す
ユーザーの直接の入力を元にファイルアクセスしないようにする
ユーザーの投稿をHTMLに変換し表示するときにはサニタイズを欠かさない
セッションキーはできる限り推測しにくいものにする
セッションキーの他にセッショントークンも生成する
といったところかな
0606nobodyさん
2010/10/28(木) 09:56:44ID:???都道府県名テーブル
都道府県名 PK
ショップジャンルテーブル(何何屋)
ジャンル名 PK
ショップテーブル
ショップID PK
都道府県名 FK
ジャンル名 FK
ショップ名(店名) NN
こんな感じでいいのでしょうか?
0607nobodyさん
2010/10/28(木) 10:07:44ID:???ショップID PK
ショップ名(店名) NN
都道府県名 FK
ジャンル名 FK
のほうがいいな
0608nobodyさん
2010/10/28(木) 10:11:42ID:???ありがとうございます
都道府県名テーブルとショップジャンルテーブル(何何屋)には
1項目(カラム)しかないのですがこういうテーブルはありなのでしょうか?
それともIDとかつけて複数カラムにしたほうがいいのでしょうか?
0609nobodyさん
2010/10/28(木) 10:15:17ID:???0611nobodyさん
2010/10/28(木) 12:53:18ID:???0612601
2010/10/28(木) 16:31:42ID:tl3jLdd2ご意見ありがとうございます
自分なりに本に書いてあるようなことは対処したつもりなんですが
直接教えてくれる人がいないとどうも不安で変なことを聞きました
皆さんの意見参考にしたいと思います。ありがとうです
0613nobodyさん
2010/10/28(木) 18:41:58ID:???0614nobodyさん
2010/10/28(木) 22:28:02ID:???何から手をつけていいかわかりません
とりあえずHTMLを書いてアプリケーションで使うテンプレートから作っていけば
使うデータも思い浮かんで行くかなと思うのですが
次々欲しい機能が思い浮かんできて夢は広がる一方実装は挫折する一方・・・
みなさんはちゃんと設計をしてから実装しますか?
それとも適当につくってその都度ほしいものがでてきたらあとからくっつけて実装しますか?
一人で作るには規模が大きめのサイトを作る場合のコツを教えてください
ちなみに設計書は書きたくてもよくわからないので手をつけれません
設計の勉強をしないといけない場合どういう設計の勉強をすればいいのかも教えてください
0615nobodyさん
2010/10/28(木) 22:38:17ID:???真っ当なやり方じゃないかな
ただ、フレームワークは覚えて使いこなせるようになるまでにそれなりの手間はかかる
0616614
2010/10/28(木) 22:59:48ID:???なるほど・・・ここでついにフレームワークですか
やっぱそうなのかなぁとは薄々感じてました
ちょっとかじってみることにします
0617nobodyさん
2010/10/29(金) 00:00:45ID:???0618nobodyさん
2010/10/29(金) 00:11:27ID:ElL9VfZJmd5("トークン用のフレーズ".date());
というやり方でトークンを作ってます。
これだと、よくあることですが複数のウィンドウ(タブ)で同じ編集画面を開くと
トークンエラー(query直前でセッションに保存した値とパラメータでもち回した値と照合)を
起こしてしまいます。
どう対処したらいいですか?
考えたのは、トークンをセッションに入れる時配列化して、in_arrayでチェックする方法ですが
もっといい方法あるでしょうか?
0619618
2010/10/29(金) 00:12:27ID:???md5("トークン用のフレーズ".time()); でした
0620nobodyさん
2010/10/29(金) 00:30:50ID:???セッション生成時にトークンを作成し、それを使い回す
こんな実装でも問題ないってエライ人が言ってたのを見た気がする
0621nobodyさん
2010/10/29(金) 01:53:34ID:???pallet_town.cgiにrequireでa_deny.cgiを指定しても、管理画面から見れる“アクセス”に履歴が残りません。
“パソコン”のログは残るのですが、“アクセス”にも履歴が残るようにするにはどうすればいいのか悩んでます。
Pallet Townの構造が特殊なのでしょうかね…
0622nobodyさん
2010/10/29(金) 02:15:14ID:???トークンの作成・更新を
セッション開始時とフォームでSubmitしたタイミングくらいに制限すればいいのでは。
0623621
2010/10/29(金) 07:30:50ID:???「Access Analyzer」ではなく、「Access Denial」でした。
0624nobodyさん
2010/10/29(金) 09:17:10ID:???こっちの方が良いんじゃない?
★三 【 スクリプト改造工房 PART 9 】 ★三
http://hibari.2ch.net/test/read.cgi/php/1143834740/
0625nobodyさん
2010/10/29(金) 19:11:30ID:jA1vI9se#!/usr/bin/perl
$akagi = 66;$kaga = 72;$count = 0;
while ($count < 24) {&cva();&cvb();$count++;}
sub cva{
if($akagi > 2){$akagi = $akagi - 3;$name = "akagi";push(@hentai1, $name);push(@hentai1, "3ki");}
}
sub cvb{
if($kaga > 2){$kaga = $kaga - 3;$name = "kaga";push(@hentai2, $name);push(@hentai2, "3ki");}
}
print "Content-type: text/html\n\n";
print "@hentai1","<br>","@hentai2";
0626nobodyさん
2010/10/29(金) 22:17:40ID:???>>566がスレチ(or板違い)だとしたら、どちらで訊ねるのがよいのでしょうか?
どなたか詳しい方、誘導していただけると助かります。
0627nobodyさん
2010/10/29(金) 22:25:41ID:???0628nobodyさん
2010/10/30(土) 04:27:19ID:???0629nobodyさん
2010/10/31(日) 19:13:29ID:???あと日本と海外で普及の度合いって違うの?
0630nobodyさん
2010/10/31(日) 19:14:46ID:???0631nobodyさん
2010/10/31(日) 19:20:23ID:???良書
Tomcatハンドブック
Silverlightで開発するデータ駆動アプリケーション
便所紙
Javaフレームワーク開発入門
0632nobodyさん
2010/10/31(日) 20:14:02ID:???0633nobodyさん
2010/10/31(日) 23:53:26ID:VoaO7n3t画像をどうやって保存したら良いか悩んでいます
/userfile/100001/gallery1/2010-10-29_1.jpg,2010-10-29_2.jpg
/userfile/100001/gallery2/2010-10-29_1.jpg
/userfile/100002/gallery1/2010-10-30_1.jpg
みたいな感じで userfileディレクトリに各ユーザIDを使った専用ディレクトリを作り
その中に写真種類別ディレクトリをさらに作って保存… と考えてますが
ユーザーがたとえば1万人とか10万人に増えたら1つのディレクトリに
10万個ディレクトリができることになりますよね? これはマズいですか?
普通に考えたらまずいと思うんですが、何個までならOKなのかというか
根本的にどのように保存していくべきなんでしょうか?
それとも案外「問題なし」なのかな…
0634nobodyさん
2010/10/31(日) 23:56:48ID:???0635nobodyさん
2010/10/31(日) 23:57:34ID:???0636633
2010/11/01(月) 00:13:30ID:CwD+jH13これってどういうことでしょうか?
会員情報のテーブルにmyfilepathとかのカラムを作って /var/www/userfile/100001とか
保存するってことですか?
知識不足過ぎて解釈間違ってたらすみません。
これだと物理的にuserfileディレクトリに10万個ディレクトリがあること自体は変わらないですよね?
>>635
それも考えたんですが、なんと言うかその段階に行く前の勉強をしたいと思いまして。。
0637nobodyさん
2010/11/01(月) 00:25:26ID:???0638nobodyさん
2010/11/01(月) 00:26:59ID:???DBにパスを持たせるなら全くばらばらのパスでよくなるのだから、
全部真っ正直に /usrfile の下にフラットに配置する必要がなくなるでしょ。
DBに持たせなくても、userid0001みたいなユーザーIDだったら、それをmd5ハッシュ
して(1b54d8bdecb31d77a0919134d60ca64c)、最初の2文字で1つずつディレクトリ
を掘って 1/b/userid0001 みたいなパスにすると、16×16で、10万ユーザーいても
1サブディレクトリあたり400弱のユーザー数に抑制されることが期待できる。
0639nobodyさん
2010/11/01(月) 00:28:23ID:???0640nobodyさん
2010/11/01(月) 00:30:26ID:???最大数は 999999999 で、9億人になるんで、まぁいいんじゃないのかな?
12桁にすれば 999999999999 9兆人になるので余程スクリプトで攻撃されない限りは大丈夫だと思う
0641nobodyさん
2010/11/01(月) 07:00:27ID:OMrNiXi0その方法だと一人が10万ファイルうpしたらアウアウだけどな
うpファイル数制限できるならありだと思うけど
一番効果的なのは>>640だな
ただ2文字取るだけならフツーに乱数生成したほうが早いし単純だしスケーラビリティも優れてると思うが
ユーザー数に応じて乱数の範囲変えるだけでユーザーの増加に対応できるし
0642nobodyさん
2010/11/01(月) 08:49:15ID:???"00345" という文字列を数値の 345 にキャストするにはどうすれば良いですか?
0643nobodyさん
2010/11/01(月) 10:17:13ID:???0646633
2010/11/01(月) 12:13:37ID:CwD+jH13すごいな〜!
みんなプロですね〜。こういうノウハウって「ただPHPで何か作る」系の本には載ってないから
独学じゃ限界あるなぁ
PHPの知識っていうよりシステム構築って範囲になるのかな?
こういうの、掲載されてる本あるんですか?
DBに保存するメリットは何だろうって疑問も解けたし、凄く勉強になりました
0647nobodyさん
2010/11/01(月) 12:32:16ID:???サブディレクトリ作って小分けにしてたので、そこから調べたっけな。
0648633
2010/11/01(月) 13:50:24ID:CwD+jH13もし今上に書いたような仕組みのサービス作るとしたら、
サブディレクトリに保存形式にしますか? DBに保存形式にしますか?
「DBに保存形式だとアプリを通じてじゃないと内容確認出来ない。
ファイルで保存ならフォルダ開いていって簡単に確認出来る」と思ってたのが
あれだけディレクトリが煩雑になると「面倒には変わりない、DBで良いのかも」と認識し直しました。
どちらかを選ぶ大きな判断基準ってどんなものがあるでしょう?
ファイル保存形式の方がサーバースペック求めなくて済むとかありますか?
0649nobodyさん
2010/11/01(月) 14:15:11ID:???0650nobodyさん
2010/11/01(月) 14:55:51ID:???0651633
2010/11/01(月) 15:39:29ID:CwD+jH13自分がDBのほうが良いのかもって思い始めた1つに
半年より前にupした画像を削除したいような時、
ファイルだと2010-11-10_pic10.jpgって感じに登録時の日付を付けなきゃいけない点です
DBならdatetimeカラムの値を条件にしてサクサク消せるんで。
php5からアップロード済みファイルのうp日時を確認して(消去する)方法ってあるんでしょうか?
どういう時にはどっちの保存形式がふさわしい、って話、いろんな人の意見聞きたいです
0652nobodyさん
2010/11/01(月) 15:44:56ID:???0653nobodyさん
2010/11/01(月) 15:46:21ID:???画像をユーザディレクトリに保存し画像のパスだけをDBに保存するって感じだな
0654nobodyさん
2010/11/01(月) 15:46:48ID:???0655nobodyさん
2010/11/01(月) 15:56:39ID:???ディスク容量や直公開できる点を考えるとファイルの方が有利。
要件次第じゃない?
古いファイルを削除はバッチとか。
0656633
2010/11/01(月) 16:00:38ID:CwD+jH13どうもです。
「タイムスタンプ」って言うんですね。それでしらべたらfilemtime()って関数がありました。
ファイルで管理する方がディスク容量は有利なのも今知りました。
ファイルそのもののサイズにDBのテーブル情報とかのリソース?分が加わるからでしょうか
>>653さんのやり方でやってみようと思います。
今まで答えてくれた人、ありがとうございました
0657nobodyさん
2010/11/01(月) 16:39:06ID:???掲示板とかで検索とか付けないかぎりは要らない
って自分は思う
0658nobodyさん
2010/11/01(月) 17:28:41ID:???DBのバックアップ取っておけばそれだけで済むんじゃない?
バイナリをDBに突っ込むのは抵抗がある人が多いようだけど、そこは好き好きで。
0660nobodyさん
2010/11/01(月) 22:20:07ID:???0661nobodyさん
2010/11/01(月) 22:24:07ID:???0662nobodyさん
2010/11/01(月) 22:26:28ID:???0664nobodyさん
2010/11/02(火) 01:35:45ID:???0666nobodyさん
2010/11/02(火) 08:14:59ID:???ブレークポイントが止まりません。
PDTも既に入っている筈なのですが何が原因として考えられるでしょうか?
また、PHPコード内で選択した範囲を1クリックでコメントアウト、コメント解除を
行うショートカットアイコン等はEclipse
には用意されていないのでしょうか?
※Windows7 (Home Premium)
■ このスレッドは過去ログ倉庫に格納されています