△▲ 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/
0521nobodyさん
2010/10/15(金) 06:08:54ID:???0522nobodyさん
2010/10/15(金) 09:22:11ID:???オライリーのハンドブック買ってみようと思ってるんだが
0523nobodyさん
2010/10/15(金) 09:32:38ID:???捌くってことかしら?
0524nobodyさん
2010/10/15(金) 09:57:43ID:???てか今時のTomcatならバイパスなんて要らないだろ?
JBossやGlassFishを使えばいいじゃないか。
StrutsよりFacelets+EJB3.1のが生産性高いぞ。
0525nobodyさん
2010/10/15(金) 16:09:04ID:???0526nobodyさん
2010/10/17(日) 10:49:25ID:???0529nobodyさん
2010/10/20(水) 16:16:58ID:???フォームにselectがたくさんあって変更したらajaxでデータ送信したいんだけど
0530nobodyさん
2010/10/20(水) 16:28:50ID:???0531nobodyさん
2010/10/20(水) 16:36:40ID:???Firefoxとsafariは問題なく動いてるんですよ
0532nobodyさん
2010/10/20(水) 16:38:09ID:???0533nobodyさん
2010/10/20(水) 16:42:39ID:???0534nobodyさん
2010/10/20(水) 16:45:10ID:???0535nobodyさん
2010/10/20(水) 16:47:29ID:???JAVAで一番いいのを頼む
0536nobodyさん
2010/10/20(水) 16:50:59ID:???0537nobodyさん
2010/10/20(水) 17:00:56ID:???0539nobodyさん
2010/10/20(水) 20:55:49ID:???コマンドプロンプトにphp -vとすると
warning: directive 'register_long_arrays' 〜
と出たんですが、どこを直せばいいんでしょうか?
0540nobodyさん
2010/10/20(水) 21:00:54ID:???register_long_arraysはphp.iniの設定項目の1つだからそこ見ればいいんじゃね
0541nobodyさん
2010/10/20(水) 21:26:09ID:???レスどうもです
php.ini-developmentってファイルの該当部分を書き換えて
php.iniにリネームしたら直りましたけど
これでいいんですかね?
0542nobodyさん
2010/10/23(土) 14:27:35ID:QixQhU90IPアドレスの違う2つのサーバを、1つはwebサーバ、もう一つはDBサーバとして
DBサーバに登録してある情報をwebサーバのサイトで表示したいと思っています。
この時
https://siteA.dbserv.com/(dbサーバ)を http://www.siteA.com/(webサーバ)の
管理画面にして、もちろんテキストなどの情報の登録(sql)はできるんですが
画像のアップロードのみ http://www.siteA.com/の任意のパスにアップロードするのは可能でしょうか?
1)siteAの「webrootの上位階層」と「webrootの下位階層」どちらも不可能でしょうか?
(希望は上位階層にアップロードし、phpで画像出力させたいです)
無理だとしたら画像もdbサーバにアップロードして、
webサーバのhtml(php)中に出力用.phpへのリンクをつける↓
<img src="http://siteA.dbserv.com/imageOutput.php?img=dog" />などとするしかないと思いますが
2)これは可能ですか?
1、2が質問になります。
回答よろしくお願いします。
※どうしてこんなことをしてるかというと、sslをサイトの数分取得するのをケチりたいだけです…
やめた方が良いんでしょうかねぇ。。
0543nobodyさん
2010/10/23(土) 14:35:58ID:???0544542
2010/10/24(日) 01:41:27ID:51VzJwLOありがとうございます。恥ずかしい質問なんですが
あの構造だと外部に公開してることになるんですか?
外部に公開=違うサーバからアクセスできる(情報の出し入れできる)ってことですか?
webサーバとデータベース(サーバ)が同じハード(サーバ)の中に入ってることは
よくあると思いますが、これは同一サーバ(IPアドレス)からのアクセスに限定されてる場合のみ
許されるということでしょうか?
0545nobodyさん
2010/10/24(日) 02:29:44ID:???0546nobodyさん
2010/10/24(日) 02:38:04ID:???かな。
0547542
2010/10/24(日) 08:45:26ID:51VzJwLOありがとうございます
>WAN を介して DB を操ることがあまり好ましくない。
この部分についてもう少し知りたいんですが、
ヤフーのサイトでリクルートのR25を閲覧出来るサービスありますよね
http://r25.yahoo.co.jp/ってドメインですけど、
これはR25のサーバのデータをyahooで出力してる(=WAN を介して DB を操る)のかと
思ったんですが違うんでしょうか?
Mysqlの接続情報でIPアドレスを入れることもできるし、
wordpressで接続先DBのIPアドレスを入力してくださいなんて項目もあるので
WANを介してDB操作はタブーだと思ってませんでした。(今まで実際にしたことはないですが)
「機能としてはできるけど、実用としてはダメ」ってことですか?
0548nobodyさん
2010/10/24(日) 09:42:15ID:???せっかくWebサーバーとDBサーバーが物理的に
わかれとるのにわざわばDBサーバーをさらす必要ないだろ
ってことだ。
画像はアップロード受けるphpがどこに保存するかは自由だ。
0549542
2010/10/24(日) 11:47:24ID:???あー、やっと理解出来ました
webサーバとdbサーバの分離って、dbサーバをLANの中に配置して
直接WANからアクセスさせないのが大前提なんですね
(webサーバには操作権限の一部のみgrantする形で…)
なるほど、ありがとうございました。また質問する時お願いします
0550nobodyさん
2010/10/24(日) 15:55:59ID:???この本って評判どうですか?
他にろくな本が無いという理由でそこそこ売れてるような感じなんですが・・・
0551nobodyさん
2010/10/24(日) 16:04:37ID:???0552nobodyさん
2010/10/24(日) 16:18:44ID:???プログラミングモデルが確立されてるし、語ることがほとんどない。
0553nobodyさん
2010/10/24(日) 16:20:31ID:???大学では旧帝だろうがプログラミング自体ほぼやらないから、ましてやウェブなんかまずやらん
0554nobodyさん
2010/10/24(日) 19:29:08ID:2icUZZDPブラウザーフォームからIDとPASS送信
↓暗号化無しの素で環境変数送信
ID生成CGI
↓
ID名のフォルダ生成その中にPASS名のフォルダ生成その中にホームページコピー。
ブラウザのフォームからIDとPASS送信
↓暗号化無しの素で環境変数送信
IDログインプログラム
↓
IDフォルダを送信されたIDと照合、その中のPASSフォルダと送信されたPASS照合
↓
双方が一致でPASSフォルダ内のWEBページのURLへのリンクを返す。不一致はエラー表示。
0555nobodyさん
2010/10/24(日) 19:34:50ID:???0556nobodyさん
2010/10/24(日) 19:41:45ID:2icUZZDPサーバーがssl非対応・・・
ベーシック認証とかも考えて見ましたがどうも難しい。
データがWEBページの操作記録がIDフォルダとPASSフォルダの2箇所にTXTで書き込まれてるのです。
0557nobodyさん
2010/10/24(日) 20:06:49ID:???以上無理な話なので置いとくとして
外部から貰った名前をそのままパス名に使うと ../ とか / とか
それらを巧妙にエスケープしたものとかいろいろ使われるぞ。
0558nobodyさん
2010/10/24(日) 20:35:00ID:???乗っ取られないだけで個人情報は漏れるだろうけど
0559nobodyさん
2010/10/24(日) 23:37:30ID:???initという関数がたまに出てきます
言語は特に問わないとおもいますがJavaScriptとPHPでみかけました
これはJavaなんかのmain関数に相当するものと考えていいのでしょうか?
Javaの場合は必ずmainから実行されるようになってますが
JavaScriptやPHPなどそういう決まりが(多分)ない場合
自分で明示的に呼び出す必要がありますがそれがinitなのでしょうか?
Javaのmain関数のようなもの、しかし自分で呼び出す必要があるものと考えればいいでしょうか?
0560nobodyさん
2010/10/25(月) 00:07:47ID:???0562nobodyさん
2010/10/25(月) 00:11:35ID:???0563554
2010/10/25(月) 01:07:41ID:QKIzNvWNhttp://iup.2ch-library.com/i/i0175565-1287934838.png
不備や他の方法があったら教えてください。
0564nobodyさん
2010/10/25(月) 01:22:50ID:???何を聞きたいのかよく分からん
堅牢な代わりに手間がかかると書いてあるから、堅牢で楽な方法が知りたいってこと?
0565nobodyさん
2010/10/25(月) 01:40:59ID:???0566nobodyさん
2010/10/25(月) 01:43:53ID:???SSIの記述に準拠してるっぽいんだけど、自分の知ってるApacheのSSIとは挙動が違うんです。
もしかして自分がなんかすごい勘違いでもしてるんでしょうか?(別に挙動としておかしくない?)
<!--#set var="s" value="abc" -->
1:<!--#if expr="$s = /^abc$/" -->OK<!--#else -->NG<!--#endif -->
2:<!--#if expr="'$s' = /^abc$/" -->OK<!--#else -->NG<!--#endif -->
3:<!--#if expr="'$s' = /^'abc'$/" -->OK<!--#else -->NG<!--#endif -->
4:<!--#if expr="'$s' != /^'?abc/" -->OK<!--#else -->NG<!--#endif -->
5:<!--#if expr="!'$s' = /^'?abc/" -->OK<!--#else -->NG<!--#endif -->
<!--#set var="s" value="abc xyz" -->
6:<!--#if expr="$s = /^abc xyz$/" -->OK<!--#else -->NG<!--#endif -->
7:<!--#if expr="'$s' = /^abc xyz$/" -->OK<!--#else -->NG<!--#endif -->
8:<!--#if expr="'$s' = /^'abc xyz'$/" -->OK<!--#else -->NG<!--#endif -->
9:<!--#if expr="'$s' != /^'?abc/" -->OK<!--#else -->NG<!--#endif -->
10:<!--#if expr="!'$s' = /^'?abc/" -->OK<!--#else -->NG<!--#endif -->
<!--#set var="s1" value="abc" -->
<!--#set var="s2" value="xyz" -->
11:<!--#set var="s" value="$s1+$s2" --><!--#echo var="s" -->
12:<!--#set var="s" value="$s1$s2" --><!--#echo var="s" -->
13:<!--#set var="s" value="1" --><!--#echo var="s" -->
14:<!--#set var="s" value="0" --><!--#echo var="s" -->
結果
1:OK 2:NG 3:OK 4:OK 5:NG 6:OK 7:OK 8:OK 9:OK 10:NG
11:abc+xyz 12:abc$s2
13:1 14:(none)
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の構造が特殊なのでしょうかね…
■ このスレッドは過去ログ倉庫に格納されています