△▲ 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/
0341nobodyさん
2010/09/12(日) 15:21:03ID:???ありがとうございます。
phpの脆弱性とか、SSLの組み込み方など
思いつくことがたくさんあるので、一通りの良書を知りたいのです。
データベースを守れば万事解決になるんでしょうか?
まだ経験が足りないのでよく分かっていません。
0342nobodyさん
2010/09/12(日) 15:29:06ID:SxMfR3T8嘘なんですか…?
0343nobodyさん
2010/09/12(日) 16:10:55ID:???0344nobodyさん
2010/09/12(日) 16:48:37ID:???http://www.ipa.go.jp/security/vuln/websecurity.html
0345334
2010/09/12(日) 16:56:10ID:tdLlbnyn>>335
なるほど!それはそうですね!
/tmpにすでに、アップロードされているのを忘れてました!
>>336,339
なるほど。たしかにもしそんなことができたら、任意のファイルを
アップロードさせられてセキュリティ上、問題がありますよね。
0346nobodyさん
2010/09/12(日) 16:56:34ID:???http://www.amazon.co.jp/dp/4873112869/
薄くてあっという間に読めるのに、セキュリティのことが一通りちゃんとまとまってます。
書名に「入門」と付いてますが、PHPをちゃんと理解してないと難しいかもしれません。
0348nobodyさん
2010/09/13(月) 13:25:04ID:???0349nobodyさん
2010/09/15(水) 16:43:01ID:???URLエンコードをしたほうがいいですか?
それともHTMLエンコードをしたほうがいいですか?
0350nobodyさん
2010/09/15(水) 16:55:48ID:???0351nobodyさん
2010/09/15(水) 22:15:59ID:???URLがユーザ入力などによって危険な文字列になる可能性もあるなら必要でしょ。
URLエンコードは表示の目的によって必要性が変わると思う。
0352nobodyさん
2010/09/16(木) 09:00:55ID:???そっちにするか迷うのですが
一般的には隠し属性ってどこに書くものなのでしょう
0354nobodyさん
2010/09/18(土) 04:05:48ID:XEKe5Zwoこのあたりの仕様がどうなっているのかいまいち分かりません。
切れないようにする方法はありますか?
0355nobodyさん
2010/09/18(土) 05:28:17ID:???0356nobodyさん
2010/09/18(土) 08:12:54ID:???0357nobodyさん
2010/09/18(土) 09:24:53ID:HoVONag+処理の過程で、ユーザごとのアップロード先ディレクトリをmkdirしてるんですが
うまくいきません。
if(!file_exists($dirName)){//ディレクトリ作成
mkdir($dirName, 0755);
}
if(isset($params['uploadPic_keep'][$i])){//アップロードファイルの移動その他
copy($params['uploadPic_keep'][$i], $dirName."/".$pic);
chmod($dirName."/".$pic, 0644);
unlink($params['uploadPic_keep'][$i]);
}
以上の処理をしてるんですが、画像がアップされませんでした。
ftpでディレクトリの状態を確認したところ、ディレクトリ「$dirName」は作成されていたのですが
なぜか$dirNameの権限が755でなく644になっていました。
OS(centOS5.5)でのumaskは0022を返しました。
質問は以下です
1)画像がUPされない($dirNameに移動されない)のは644になってるのが原因でしょうか?
2)0755で指定してるのに644になる原因はなぜでしょうか?
3)サーバにログインして$dirNameを削除したあとに上記のアップロード処理を再度行うと
今度は$dirNameが755で作成されアップロードも正常にできます。
これは一体なぜでしょうか?
linuxの権限の概念がよくわからないので、これを機会にそれもわかるようになれたらと思います。
すみませんが回答/ご意見よろしくおねがいします。
0358nobodyさん
2010/09/29(水) 14:17:10ID:LPXumyyoSSI以外で画像ではなくテキスト等を表示する方法はありませんか?
0359nobodyさん
2010/09/29(水) 15:16:46ID:???javascript併用するとか
カウンタに限らず、html内に無い文字列を出す手段があればそれが使える
0360nobodyさん
2010/09/29(水) 15:41:04ID:???ありがとうございます。
いろいろとカウンタCGIを見ているのですが、
・画像にして連結加工して1枚の画像を制し得
・一桁単位で画像をリクエスト
の2種類の方法が一般的のようですが、
一つのimgタグで複数の画像を呼び出すことはできないのでしょうか?
0361nobodyさん
2010/09/29(水) 16:02:12ID:???0363nobodyさん
2010/09/29(水) 17:13:33ID:???0364nobodyさん
2010/09/29(水) 17:17:43ID:???聞きたいのこれなんじゃ?
無理じゃね
0365nobodyさん
2010/09/29(水) 17:23:20ID:???バラバライヤ
imgタグ1つじゃなきゃヤダー
0366nobodyさん
2010/09/29(水) 17:32:31ID:???フラッシュかなんか使っといたらどうか
0367nobodyさん
2010/09/29(水) 17:55:59ID:???0368nobodyさん
2010/09/30(木) 00:37:07ID:???$dirNameと$picへの代入の処理が書かれてないから確信はないけど、
$picが空だったらそういうことが起こるのでは?
echoとかで$dirName."/".$picがどんな文字列になっているか確認してみて。
と書いてから気づいたけど、10日以上前の質問か…。
0369nobodyさん
2010/09/30(木) 02:34:28ID:jr1rxuJxどうもありがとうございます、確認してみます!
0370nobodyさん
2010/09/30(木) 02:55:34ID:???入力はタブや改行を含めないことにしてUTF8に変換、危険な文字は除去後
HTML特殊文字はエスケープするつもりです。
この際に消しておくべき文字は0x0〜0x1f 0x7f あたりで他にはないでしょうか?
0371nobodyさん
2010/09/30(木) 02:56:13ID:???$str .= "
<script type=\"text/javascript\">
document.write('<span class=\"counter\">$count</span>');
</script>";
とか
あとはImage-Magick使って画像出力用CGI作るとか
HTML5のcanvasタグ使ってみるとか
0372nobodyさん
2010/09/30(木) 03:02:12ID:???一般的に行われてるHTML出力用のサニタイズは &, <, >, "e, ? の5種類だな
DBに突っ込むとかevalするとかsystemに投げるとかするんだったら
そのタイミングでそれぞれ最適なエスケープをする必要がある
0373nobodyさん
2010/09/30(木) 03:07:31ID:???○ "'><& の5種類
0374nobodyさん
2010/09/30(木) 03:55:39ID:???0375nobodyさん
2010/09/30(木) 06:11:48ID:???試したことないからわからんけどほとんどnullになるんじゃね
0377nobodyさん
2010/09/30(木) 08:11:14ID:???0378nobodyさん
2010/09/30(木) 09:43:33ID:???みんなどうしてる?
0379nobodyさん
2010/09/30(木) 09:50:14ID:???0381nobodyさん
2010/09/30(木) 11:46:59ID:???・3層構造が明確になる
・スケールさせやすい
・セキュリティ
まぁ普通はファイルにしておいた方が楽だよ
0382nobodyさん
2010/09/30(木) 12:09:21ID:???キロ単位の画像ならつっこんでもいいと思う
0383nobodyさん
2010/09/30(木) 12:36:15ID:???容量取るけど楽じゃね?適度にキャッシュも削除したりして
普通は、ファイルパスとかファイル名をDBに入れとくんだろうけどさ
0384nobodyさん
2010/09/30(木) 14:33:34ID:???まああまりやらんけど
0385nobodyさん
2010/09/30(木) 15:48:25ID:S7wkQAVJお客さんのサーバ(NT4Server,IIS4)に入れたaspページに
サーバ内に格納したExcelファイルへのリンクを組み込んで
各クライアントからWeb画面でそのExcelファイルをダウンロードできるようにしてあるのですが
一度ダウンロードされたファイルをサーバから削除しようとすると、消されないままずっと残ってしまいます。
FFFTP画面上で確認すると、アクセス権が全てオフ(---------)になっており、どうすることもできません。
ダウンロードした時点では見た目の変化は無いのですが、削除しようとするとこの状態になるようです。
サーバのIIS管理画面で「規定のWebサイト」を停止すると、このファイルは消滅しますので
どうもIISが何か悪さをしてるっぽいのですが、回避方法は無いものでしょうか。
0386nobodyさん
2010/09/30(木) 15:49:16ID:???するのは、どんな言語を使っているのでしょうか? プログラミングを学習して作ってみたいのですが
どの言語を選ぶのがベストなのかがわかりません。破壊的に初心者ですみませんがよろしくお願いします。
ttp://www.e-shops.jp/sh/rk40/html/out1.html
0387nobodyさん
2010/09/30(木) 16:03:59ID:???0388386
2010/09/30(木) 16:13:25ID:???0389nobodyさん
2010/09/30(木) 16:25:18ID:???0392nobodyさん
2010/09/30(木) 23:42:07ID:???0393nobodyさん
2010/09/30(木) 23:46:55ID:???エラーを出すようにするには、どうしたらいいでしょうか?
http://xxxxx.xxx/xxxx/ ←OK
http://xxxxx.xxx/xxxx/index.php ←エラー
0394nobodyさん
2010/10/01(金) 00:10:18ID:???Apacheならmod_rewriteで
RewriteEngine On
RewriteRule ^/.+ - [F,L]
とでも書けばよいのではないかしら?
0396nobodyさん
2010/10/01(金) 09:14:57ID:???自分のホームページに新着情報掲載CGIを改造したデータベース風CGIを掲載しています。
その内容の一部をFC2ブログに掲載しています。
(題名・写真・"詳しくはこちら"リンク・追記の編集部分に詳細内容)
ブログは、データベースCGIを記入し終わってからコピペしているのですが、意外と面倒です。
これをCGIにアップすると同時にFC2にもデータを送るようにしたいのですが、可能でしょうか?
(内容記入→データベースのログに保存→FC2にログイン+データアップ→完了画面)
なんとなく、誰かもうすでにやってそうな気がしたのでググってみたのですが、調べ方が下手なのか
上手くヒットしませんでした。
こういう事は可能なのでしょうか?また、その場合、どのように調べたらよいでしょうか?
0397nobodyさん
2010/10/01(金) 10:11:15ID:???0398nobodyさん
2010/10/01(金) 11:08:40ID:???返答ありがとうございます。
よくトップページなんかにニュースとかを載せるやつです。
更新履歴CGIの方が正しい言い方でしょうか?
ttp://www.giga-speed.com/html/cgi/cgi_history.html
こんなのを改造して、項目を増やしたり検索CGIを追加したりして使ってます。
0399nobodyさん
2010/10/01(金) 11:31:53ID:???こういった場合、APIが公開されていればそれを使えば楽
公開されていなくても、curlなどを使えば、人間がブラウザで行う操作と同じ事がエミュレートできる
で、FC2のブログ投稿でいいのなら、XMLRPCでできる
「FC2 xmlrpc」で検索してみて。
0400nobodyさん
2010/10/01(金) 11:42:36ID:???返答ありがとうございます。
そのものズバリ、ありがとうございます。
あとは、自分が今使っているCGIとどう組み込むか…
ちょっと色々考えてみます。
0401nobodyさん
2010/10/01(金) 21:20:28ID:5IgqgdH1掲示板等の投稿を行うシステムを作るときのことなのですが、投稿ログに順次
書き込みを行っていくのではなく、投稿内容に応じてログへの記述位置が違う
場合、
一度ログを全て読み込み、ファイルを閉じ、書き込み位置をスキャンした後に
書き込み用に開いて、当該個所に追記するというのがいいのでしょうか?
それとも、読み込んでスキャンしている最中も開きっぱなしで書き込みが終わっ
てから閉じるものなのでしょうか?
また、検索の際も
検索を行う該当箇所だけ開き、マッチした記事のID等をひろってから、再度開
きなおしてIDから記事全体を取得するのか、開きっぱなしでマッチした記事を
拾ってから閉じるのでしょうか?
前者だと、書き込みや検索が多い際にファイルへアクセスするプロセスが待つ
時間が短くなると思うのですが、2度開くのでファイルを開くのとメモリに読み
込む時間がかかってしまうと考えています。
後者であれば、ファイルを開くのと読み込むのが一度なのでその時間が短く済
みますが、スキャンしている時間もファイルをロックしているので、プロセス
が待つ時間が長くなってしまうと考えています。
私の考えも含めて間違っている個所があれば、ご指摘いただければと思います。
0402nobodyさん
2010/10/02(土) 02:44:54ID:???そもそも、掲示板は時系列に並ぶはずの書き込み順であるはずなのに、
それを途中に挿入するという時点でログファイルの扱い方に間違いがある気がする。
もう一度ログファイルの構造 (ってほどのもんじゃないんだろうけど) を見直したほうがいいですよ。
0404nobodyさん
2010/10/02(土) 03:10:00ID:???(テキストファイルなら、なんらかのシステムを入れなくても中身を読み書きしたり、気軽にデータの再構築とか出来る)
掲示板とかブログを作ってると検索のコストの高さにタイムアウト連発w
で、最近は SQLite が気になってるんだけど、メモリとかどれぐらい食うんだろう?
P!!! + i815 な環境なため、メモリが 512MB しか無いんだよねww
0405nobodyさん
2010/10/02(土) 11:24:43ID:???すみません。
掲示板というのは例えで出してみただけで、掲示板ではなくて
ファイルの途中に書き込みを行うシステムだと考えてください。
>>403
SQLite3を使うこともあるのですが、使えない環境の場合もある
のでテキストファイルを使った処理を考えてみようと思っていま
す。
>>404
確認してないですけど、SQLiteはそんなにメモリくわないですよ
例えば、MySQLならデーモンが100MB近くメモリを取っちゃいます
けど、そういうものが無いんで、処理をするときにDBと少し食う
程度です。
0406nobodyさん
2010/10/02(土) 11:56:03ID:???どういう風に作られているのかを勉強したいのですが。
0407nobodyさん
2010/10/02(土) 12:35:03ID:???Posql使ってみては?
PHP4,5で使えてsqliteのようにインストールが必要ということもない
ピュアPHPでできたDBMSらしい
sqliteもmysql,postgresも使えない環境で、csvで管理するのも面倒なときに使ってる
PDO互換の書き方もあってなかなかいい感じ
だが、join周りが何かオカシイ
0408nobodyさん
2010/10/02(土) 12:38:01ID:???MySQL、Apache、サーバ構築・・・
構築、設定、チューニング、メンテ・・・
何でこんなに大変なのかと・・・
0409nobodyさん
2010/10/02(土) 12:59:31ID:???0411nobodyさん
2010/10/02(土) 14:05:03ID:???0412nobodyさん
2010/10/02(土) 18:58:11ID:XgTG9NHNやはりソーダだな。
おれの地域ではコーラがないのでね。
コーラくいてえ。
0413nobodyさん
2010/10/02(土) 19:08:50ID:???>>401にも書いているのですが、Perlを使っております。
またDBも使ってはいるのですが、テキスト処理が面倒くさいからDB
を使ったりするのではなく、テキスト処理を扱うプログラムを書く
場合のためにきっちり考えたいと思っております。
0414nobodyさん
2010/10/03(日) 23:43:37ID:???RSSパーサというのでしょうか?
MagpieRSS(http://magpierss.sourceforge.net/)などを利用して他所のblogやBBS等のRSSを読み込んで
ヘッドラインのようにページに書き出しをさせたいと思っています。
そこで一つのページに複数の書き出す所を作りたいと思い
MagpieRSSを複数個設置してみるとFireFoxにて
「XML パースエラー: 要素が見つかりません。」というエラーが出てきてしまいます。
とりあえず今は似た様な機能をもつプログラムを設置しておりますが
よくエラーが出てしまいます。
どのようにすればエラーを出さずrssパーサを複数設置する事が出来るのでしょうか?
上手に説明出来なくてすみません。
どうかご教示おねがいします。
0415nobodyさん
2010/10/04(月) 00:39:32ID:???XML の記述方法から外れてるだけです。
フィードの送信元が記述方法を間違えてる場合もあります。
とりあえずはエラーが出た際に、フィードを全部目視で確認してみては如何でしょう?
0416nobodyさん
2010/10/04(月) 01:18:43ID:???ローカルホスト(xampp)上では問題なく動いているのですが,無料のレンタルサーバ上げたところ,DBからのデータ読み込みができていないようなのです。
ソースを見たところ,SELECT文の実行があるとそこでhtmlの生成が止まってしまっています。
文字化けしているわけではありません。
原因は何が考えられるでしょうか。
無料のサーバを使ったのが良くないのですか?
0417nobodyさん
2010/10/04(月) 01:30:48ID:???0418414
2010/10/04(月) 01:55:27ID:???レス有り難うございます。
確認しましたがどうやらパーサを
<?php include("./hoge/hoge.php"); ?>
このように設置して、一つだとエラーは出ないのですが
二つ目の設置部分でhtmlが途切れて終わってしまっているみたいなのです。
こういうものはいくつも設置できないものなのでしょうか?
0419416
2010/10/04(月) 02:02:43ID:???素早いレスありがとうございます。
バージョンは5.0.77でした。
「権限」というものがなんなのかよく分かりません。
「特権」であれば,無いようです。
0420nobodyさん
2010/10/04(月) 02:10:31ID:???ローカルはルートだから一般ユーザ作ってそれで試すべき
0421416
2010/10/04(月) 02:35:39ID:???このサービスだとアカウントを発行したりできないように思えるのですが。
0422nobodyさん
2010/10/04(月) 02:38:16ID:???ルート権限でたぶん動かしてるから
一般ユーザを作ってそのユーザを使って開発して
本番環境にあげるべきだったという話
0423nobodyさん
2010/10/04(月) 02:51:41ID:???0424416
2010/10/04(月) 03:01:57ID:???また,「一般ユーザを使って開発する」の意味がわかりません。
今回のエラーが発生した時点で処理が止まっているようなので,そのあとに書いたmysql_error()は呼び出されていないようです。
0425nobodyさん
2010/10/04(月) 03:04:19ID:???0426416
2010/10/04(月) 03:18:03ID:???<head>
<meta http-equiv="content-type" content="text/html; charset=SJIS">
<script type=text/javascript>
生成されたソースはこれだけです。phpファイルではこのあとにphpタグが続きます。
ブラウザの表示は真っ白です。
0427nobodyさん
2010/10/04(月) 03:25:57ID:???関係ないかもしれないがダブルクオテーション忘れてね
<script type="text/javascript">
0428416
2010/10/04(月) 03:33:37ID:???その通りですね。そういったところはアバウトでした。改めねばと思います。
修正してみましたが,今回の不具合とは無関係なようでした。
0430nobodyさん
2010/10/04(月) 08:16:26ID:???0431nobodyさん
2010/10/04(月) 08:17:42ID:???& こうか。
0432nobodyさん
2010/10/04(月) 08:24:18ID:???0433nobodyさん
2010/10/04(月) 08:38:37ID:???俺もその失敗したことあるわ
2chのスクリプトも融通がきかないよな
もう少し察して欲しいわ
0434nobodyさん
2010/10/04(月) 16:00:59ID:GlihnAUU---やりたいこと---
phpとdbの勉強でスケジュール帳を作ってます。
現在の日付より以前の投稿は非表示にしたいため、タイムスタンプをdbに格納してそれを現在時と比較しようと思いました。
---つまずいたとこ---
phpで
time()
でタイムスタンプを取得。
んでデータベースにint型で入れたいんですがココで蹴られます。
タイムスタンプをintってのがそもそも見当違いなんでしょうか?
日付の表示(○月○日投稿)等はいらないので、単純に数字の大小で比較できたらいいかなあと思ったのですが・・・。
ヒントか検索ワード頂けるとものすご助かります('A`)
0435nobodyさん
2010/10/04(月) 16:07:14ID:???0436nobodyさん
2010/10/04(月) 16:07:48ID:???なんのDB使ってるのかわからんけど、TABLEに投稿日時用のDATETIME型のフィールド作れば良い
投稿時(insert)はsqlのnow()でその投稿日時用フィールドに投稿日時を入れておく
「現在の日付より以前の投稿は非表示」の時は、selectのwhere句で
投稿日時用のフィールドが現在日時より前かどうかを判断すればいい
0437nobodyさん
2010/10/04(月) 16:11:56ID:???$time = time();
で値をとって・・・
$query = "INSERT INTO schedule (update) VALUES ('$time')" ;
データ型をdatetimeにしてみましたがダメでした。
もしかしてタイムスタンプをそのまま入れようとすること自体が間違いですか(汗)?
0438nobodyさん
2010/10/04(月) 16:12:16ID:???0440nobodyさん
2010/10/04(月) 16:13:57ID:???ナニコレ
■ このスレッドは過去ログ倉庫に格納されています