トップページphp
1001コメント346KB

くだすれPHP(超初心者用)

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/06/12(月) 14:06:01ID:???
このスレッドは、他のスレッドでは書き込めない超低レベル、 
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 
PHP使いが優しくコメントを返しますが、 
お礼はPHPの布教と初心者の救済をお願いします。 

PHP Home Page 
http://www.php.net/
0461nobodyさん2006/09/23(土) 17:44:50ID:???
>>459
両者のPHPやApacheのバージョンも書かないと。
0462nobodyさん2006/09/23(土) 19:49:02ID:???
初心者です。
POSTで、次のページに送って表示させると文字化けが。
両方のページをEUC-JPで保存してるのに何でですか?
mb_detect_encodingで、その送られた値を見ると、SJISになってしまっています。
教えてください。
0463nobodyさん2006/09/23(土) 19:59:48ID:???
462です。
formで、enctype="multipart/form-data"で上記の値を送信しているのですが、
このenctypeを外すと、普通にEUCで表示されます。
ファイルをアップするとSJISに勝手に変わってしまうのでしょうか?
どうすればいいのでしょうか、教えてください。
0464nobodyさん2006/09/23(土) 20:10:35ID:???
PHP5は糞だったのかw
0465nobodyさん2006/09/23(土) 22:45:21ID:???
jpgの画像をアップしても、JPG、PNG、GIF形式以外の写真ファイルは登録できません、と表示される
何でだ?
$ext = array("JPG","GIF","PNG");
if(is_uploaded_file($_FILES["uploadfile"]["tmp_name"])){
$fileinfo = pathinfo($_FILES["uploadedfile"]["name"]);
$fileext = strtoupper($fileinfo["extension"]);
if(!in_array($fileext, $ext)){
$errors[] = "JPG、PNG、GIF形式以外の写真ファイルは登録できません";
}
0466nobodyさん2006/09/23(土) 22:49:40ID:???
上のじゃない。こっちです。
if(in_array($fileext, $ext)){
print "aaa!";
}else{
$errors[] = "JPG、PNG、GIF形式以外の写真ファイルは登録できません";}
0467nobodyさん2006/09/23(土) 23:08:12ID:???
解決した。単にtypeミスだ。
しかし、タイプミスほど腹が立つものねぇ。
0468nobodyさん2006/09/23(土) 23:09:03ID:???
小一時間悩みまくってtypoとかあるあr
0469nobodyさん2006/09/23(土) 23:45:41ID:???
甘いな
0470nobodyさん2006/09/24(日) 00:17:27ID:???
Sqliteなんですが、
$query="INSERT INTO user_uniq (mail,pass,uniq) VALUES('$_mail','$_pass','$uniq')";
こんな感じにすると、メールの@マークで怒られます。
Warning: sqlite_query() [function.sqlite-query]: unrecognized token: "@"

今まで、これでやって、普通に動いてきたし
今も別のコードで、この方法で動いているのですが、何か特別な変化があると、挙動が変わるのでしょうか?
0471nobodyさん2006/09/24(日) 00:39:32ID:???
事故解決しました。
単なるミs
0472nobodyさん2006/09/24(日) 16:57:26ID:???
>>452みたいに
/usr/local/www/data-dist/index.phpと絶対パスが見えてしまうのとmysql使ってるってのを隠したいが、エラーに成っても隠せる方法無いの?
このままじゃ運用につかえない。orz
0473nobodyさん2006/09/24(日) 17:03:52ID:???
っ XXXII. エラー処理およびログ記録関数
0474nobodyさん2006/09/24(日) 20:04:14ID:???
これか。
XXXII. エラー処理およびログ記録関数
ttp://www.php.net/manual/ja/ref.errorfunc.php

スクリプトの先頭で、
ini_set('display_errors', 0);
error_reporting(0);
してみたが、パースエラーには効かないのかよ。orz
PHP-users 26772によれば、スクリプトが実行されないと効力が無いらしい。orz
0475nobodyさん2006/09/24(日) 20:17:58ID:???
try{} catch {} して catch {} でログに書き出すとかする。画面には出力されないはず。

でもFatal Errorは無理だったような気が。
0476nobodyさん2006/09/24(日) 22:24:10ID:???
>>474
パースエラーが出るような状況で運用にするなよ
0477nobodyさん2006/09/25(月) 00:51:05ID:???
リナクスのバージョンアップ、アパチのバージョンアップ、マイSQLのバージョンアップ、PHPのバージョンアップ
パースエラーが出ない保証なんて無いよ。

複数台で負荷分散してたりすると、phpスクリプトがダウンロードできたりして楽しい状況。
まあ上場したミクシもパールスクリプトがダウンロードできるミスをやらかしたけど。
0478nobodyさん2006/09/25(月) 00:51:52ID:???
一応あれ保存してるwww
0479nobodyさん2006/09/25(月) 01:01:40ID:???
クレクレ!!!
0480nobodyさん2006/09/25(月) 01:02:40ID:???
mixiってmod_perlで動いてるんだろ?
ちょっと見てみたい。
0481nobodyさん2006/09/25(月) 01:38:01ID:???
>>477
>複数台で負荷分散してたりすると、phpスクリプトがダウンロードできたりして

どうして負荷分散するとスクリプトがダウンロード可になるの?
負荷分散と直接関係あるの?
0482nobodyさん2006/09/25(月) 02:02:08ID:???
テスト環境を整えずにバージョンアップするなってこった。
04834832006/09/25(月) 15:10:08ID:???
tanaka→CSVファイル一行分のデータ
yasuda→キーワードが入った配列

Function Search_Pattern($tanaka,$yasuda)
{
for($loop = 0;$loooop < count($yasuda);$loooop++) {
if($yasuda[$loooop] == "") continue;
if(!ereg($yasuda[$loooop],$tanaka)) return 0;
}

return 1;
}

yasudaさんはフォームに入力されたキーワードなんだけど、
「ー」をフォームに入力すると、
>Warning: ereg() [function.ereg]: REG_EBRACK in /xxx/xxx/xxx/xxx.php on line xx
て、エラーが出てしまう。調べてみると、
「Shift-JISじゃだめだEUCにしろ」みたいなことらしいのだけど、
意味がよく分からないです。
HTMLのヘッダー部分を直しても、何も起きないし、
<meta http-equiv="content-type" content="text/html; charset=EUC">
ファイルをEUCにして保存して、アップしたら文字化けしました。
CSVのデータ内容の都合上「ー」は避けて通れないので、
どうしたら良いか教えてください。よろしくお願いします。
0484nobodyさん2006/09/25(月) 16:03:14ID:zOMXhHPD
PHPでアップローダー作ってるのですが、
動画をアップロードして、その動画のサムネイルも
ウェブ上に表示される方法に関して、
詳しく書かれた専門書があればお勧めいただければありがたいです。
0485nobodyさん2006/09/25(月) 17:48:42ID:???
>>484
そんな本は無い。
それくらい自分で実装方法が思いつかない&調べられない、という
レベルなら、諦めたほうがいい。
0486nobodyさん2006/09/25(月) 18:06:15ID:???
いや、あきらめるな調べろ
0487nobodyさん2006/09/25(月) 18:20:53ID:???
いや、あきらめたりもしくは調べろ
0488nobodyさん2006/09/25(月) 19:48:15ID:???
いや、根気良く質問し続けろ
0489nobodyさん2006/09/25(月) 21:45:43ID:???
ほう、動画のサムネイル表示か。
やったことないから俺は分からない。だからちょっと面白い。

よし、やってみよう。
0490nobodyさん2006/09/25(月) 22:05:02ID:???
yahooで「php 動画 サムネイル」で検索したら1番上に出てきたけど。
ffmpegってエクステンションがあるみたいね。

わりと分かりやすいドキュメントもあるし。

調べるってことをしないのかね・・・
04914832006/09/25(月) 22:30:14ID:???
2バイト目が正規表現の特殊文字と一致するのが原因?らしい??
むむむ……??
0492nobodyさん2006/09/25(月) 22:37:20ID:???
>>491
charset=euc-jp じゃない?
04934912006/09/25(月) 22:40:59ID:???
回答どうもありがとうございます。
指摘箇所を修正したのですが文字化けしました。
「そこを直すだけ」だとだめなんでしょうか・・。
0494nobodyさん2006/09/25(月) 22:48:31ID:???
んー

[ php.ini ]
mbstring.language = Japanese
mbstring.http_input = auto
mbstring.http_output = EUC-JP

っていうか今483のコード目通したけど、明らかにおかしいから文字コード以前にそれを直すべき。
for文の変数がおかしい。eregの使い方間違ってると思われる。あと、一般的にFunctionはfunctionで。
0495nobodyさん2006/09/25(月) 22:52:46ID:???
回答どうもありがとうございます。
ですが、回答の内容が理解できません。(頑張って調べてみますが)
明らかにおかしいとのことですが、
取り敢えず「ー」を検索キーワードにしなければ正しく動作してます。
0496nobodyさん2006/09/25(月) 22:59:55ID:???
いやいや、これじゃ$yasuda[0]取れてないじゃん。
0497nobodyさん2006/09/25(月) 23:03:12ID:???
内部・出力・スクリプト・CVSファイル・POSTされたデータ のエンコーディングは全部EUCか?

tanaka と yasuda にする意味が分からん。
どうせ意味を持たない名前の変数なら hoge とかにした方が分かりやすい
function Search_Pattern($key, $csv)
{
 foreach ($csv as $line) {
  if($line == "") continue;
  if(!mb_ereg(mb_convert_encoding($line,"EUC","SJIS"), $key)) return 0;
 }
 return 1;
}

まぁあれだ、エスパー的に考えると多分POSTされたデータがSJISだからEUCに変換すれば通るんじゃないか
2バイト目が\x5Cな文字を受け取ると失敗する
0498nobodyさん2006/09/25(月) 23:05:34ID:???
あ、申しわけない。$loopの"o"の数は無視してください。
それは、間違いです。
実際は、全部$loooopです。
0499nobodyさん2006/09/25(月) 23:09:28ID:???
書いた後で思った。
$tanakaって分割されたCSVの一行なのに、$lineって変だな
05004832006/09/25(月) 23:24:18ID:???
>>497さんに指摘されて、全てのファイルを見直したら、
CSVファイルがShift-JISになってたので、ECUにしたら、
「ー」の検索結果が上手く表示されました。感動!
普段使ってるHTMLエディターがそういう設定ないので、
あんまり気に止めてなかったことでした。
mb_convert_encodingとか見たことないこと書いていただいたので、
それも参考にしてみたいと思います。

それでは、皆さん、ご迷惑お掛けしました。
頑張りまーす。
0501nobodyさん2006/09/26(火) 00:38:00ID:???
PHP5のPOST処理が遅いって、このスレで何度か出てたので調べてみた。

PHP/4.3.11
PHP /5.1.6

で、両方Apache/2.0.53で動かした。
ソースは

$file=$_POST['FILE'];
$fp = fopen('testfile', 'w');
var_dump(fwrite($fp, $file));
fclose($fp);
echo "OK";

こんな単純な処理、
んで、5Mちょうどに作ったランダムな文字を埋め込んだテキストデータを送ってみた。
PHP5側が32秒、PHP4側は3秒

…なんだろう、この差は('A`)
ちなみに、php.iniは新たに排除された物以外同じ。
POSTに関連するような項目は無いはず。
0502nobodyさん2006/09/26(火) 00:49:08ID:???
こ・・このあり得ない程の差は一体どこが問題なんだ・・・
0503nobodyさん2006/09/26(火) 01:45:38ID:???
セキュリティ耐性の向上でいろいろチェックでもしてるのでは?
バッファーオーバーフロー対策だけでもかなりのオーバーヘッドが発生して処理速度が落ちると思う。いちいちサイズチェックしてる訳だし。
プロファイル取って精査してみると原因が分かるかもね。
05045012006/09/26(火) 02:12:00ID:???
関係ありそうなのといえば
magic_quotes_gpcだろうけど
これを無効にしても変わらんね。
まぁ、チェックはこれだけではないと思うので、オプションでいじれない範囲になるのかな
0505nobodyさん2006/09/27(水) 06:20:17ID:???
>>501のソース
最初ファイルの書き出しの所でオーバーヘッド起きてるんだと信じ込んでたが
$file=$_POST['FILE'];
の直後に、echo 'OK';exit();
やっても、OKが返るまでに相当時間がかかる。
さらに、$file=直前の一行目に書いても同じ。

ちなみに、俺はWindows版のPHPで試したが、その場合PHP4/5ともに30秒くらいかかった。
んで、FreeBSDマシンもあるので、>>501とほぼ同じマシンで試したら、4/5ともにほぼ同じ30秒くらい。

ところがどっこい、xreaのPHP5採用鯖とPHP4採用鯖で試したら、2秒で完了した。
同じく外部で借りてる鯖で試してもそんなもん。
この2つの共通点はLinuxって事だな。

俺の結論としては、4/5の差じゃなくて、OSの何かの差だと思うんだが・・・。
PHP.iniファイルは当然あわせてるし、他に考えられん。
0506nobodyさん2006/09/27(水) 06:23:50ID:???
>>505を見ると、俺にはハードウェアの違いに見えるんだが…
Windows版はGUI立ち上がってるからCPUパワーが一段階下がる。
何となくお前のFreeBSDマシンはメインマシン下がりの1世代か二世代前のマシンな希ガス
POST処理って何気にCPU食うからな。URLエンコードやmagic_quotes_gpcの有無に限らず結構チェックが多いから
0507nobodyさん2006/09/27(水) 12:43:34ID:???
そりゃ素人が作った鯖と、それで飯食ってるプロが建てた鯖とでは違うと思うが。
xreaはRAID搭載ジーオン鯖だったりしないか?
0508nobodyさん2006/09/27(水) 13:13:40ID:???
getimagesizeで、警告がでるときとでないときがあるのですが、どうしてですか?
if(getimagesize($_FILES["upfile"]["tmp_name"])){
$errors = "画像形式のファイル以外は登録できません";
}
空のjpgをアップすると、警告と$errorが表示されます。
でも、テキスト形式のファイルをjpgにして、アップすると、
$errorは表示されるのですが、警告は表示されません。

マニュアルには、
filename のイメージにアクセスできない場合、もしくは有効な画像でない場合、getimagesize() は FALSE を返し、E_WARNING レベルのエラーを発生させます
と書いてあるのですが、どうしてでしょうか?
もし、よろしければ、教えてください。
0509nobodyさん2006/09/27(水) 17:55:56ID:???
>>508
ファイルがアクセス可能であればE_WARNINGはでないようだ
マニュアルのミスだね
0510nobodyさん2006/09/27(水) 17:56:10ID:???
>>507
POSTで受信する段階ではRAIDとか関係ないでしょ
0511nobodyさん2006/09/27(水) 21:49:52ID:???
>>508
マニュアルのミスっすか!
ありがとうございます!!
0512nobodyさん2006/09/28(木) 05:09:14ID:???
phpで構造体(c言語でいう、structに相当するもの)を表現するには、
通常どのようにするのでしょうか?
0513nobodyさん2006/09/28(木) 09:24:11ID:???
配列かオブジェクト使え
0514nobodyさん2006/09/28(木) 09:41:40ID:vmB3T9I4
>>505
文字コード何にして送ってる?
FreeBSDは、EUC/ECU-JPだから
その変換作業がオーバーヘッドになってると思われ。OSの差が本当に原因なら
0515nobodyさん2006/09/28(木) 09:44:55ID:???
日本語扱わないなら文字コードは関係ないよ。latin1相当だ。
0516nobodyさん2006/09/28(木) 11:09:55ID:???
誰かFreeBSD環境とLinux環境を切り替えれる人が>>501のソースを実行してみりゃわかる話。
OSレベルで差が出るとは思えんが・・・
>>501が同一マシンで実行したのなら、何かOSの差異に問題があるんだろうな。
でも、PHP4と5だろ・・・、うちじゃ差は無かったよ。FreeBSDマシンだがどっちも同じくローカルで30秒ほど
本当に一桁で完了なんてすんの?
流石にこのマシンLinux入れるわけにはいかないので試せないけど、もしそういう結果が出るなら乗り換えてしまいたいかも・・・
0517nobodyさん2006/09/28(木) 11:47:29ID:la8GqmPx
echoとprintが両方使えるのですが、どちらを使う方が良いのでしょうか?
0518nobodyさん2006/09/28(木) 12:51:26ID:???
殆ど同じだから好みで使い分けていいよ。
ただし、どちらかに統一するように!

void echo ( string arg1 [, string ...] )
int print ( string arg )

>戻り値
・echo は戻り値がない
 NG : echo echo echo echo "hoge";
・print は常に1を返す
 OK : print print print print "hoge";
 → hoge111

>引数
・echo は「,」(コロン)で区切った文字列を連結して出力する事ができる
 echo "hoge", "hage", "hige";
 → hogehagehige
(普通にドットで文字列連結できるからあんまり意味ないけど、違いって事で)
0519nobodyさん2006/09/28(木) 12:53:18ID:???
・・コンマなのになぜコロンと書いてるんだろうか・・・ orz
0520nobodyさん2006/09/28(木) 15:08:09ID:???
>>518
わかりやすくありがとう

がんがるノシ
0521nobodyさん2006/09/28(木) 17:51:44ID:???
聞いてくれ!みんな!
ming居れたいんだけどコパーイルエラーでちゃう。


dbl2png.c:31: error: 文法エラー が "png_uint_32" の前にあります
等のエラー
make[2]: *** [dbl2png] エラー 1
make[2]: Leaving directory `/usr/local/src/ming-0.3.0/util'
make[1]: *** [utils] エラー 2
make[1]: Leaving directory `/usr/local/src/ming-0.3.0'
make: *** [all] エラー 2

ming のアーカイブをダウンロードし、展開して
ming-0.3.0.tar.gzとming-php-0.3.0.tar.gz 他にも居れないとダメん?
make
エラー
糸冬

OS:CentOS4.2
Apache1.3.3+modssl
PHP4.3.11
Postgres7.2.2

色々調べたがイマイチグット来るものが中田・・・。
0522nobodyさん2006/09/28(木) 18:13:15ID:ESgbH1eM
曜日選択のPHPを作っています。
mofu.phpにはチェックボックスに月〜土まであり、submitすると、mofu.phpで判定を行います。

<input name="ShopOpenW[]" type="checkbox" id="ShopOpenW[]" value="月" <? if(in_array("月",$_POST['ShopOpenW'],TRUE)){echo "checked"; } ?>>月

としたのですが、チェックが入っていない状態でsubmitすると、

Warning: in_array() [function.in-array]: Wrong datatype for second argument と怒られます。

でもチェックを入れた状態でsubmitするとWarningも出ないし、期待通りチェックボックスにチェックが
ついたままの状態になります。

このWarningをつぶす方法を教えてください。
0523nobodyさん2006/09/28(木) 18:17:16ID:???
>>522
まぁ、一つの方法としてはエラーレベル下げるとか。
05245222006/09/28(木) 18:28:24ID:ESgbH1eM
チェックボックスに1つもチェックが付いていない=空のデータ、
つまり配列じゃないぞゴルァというエラーであると思ったので、
if($_POST["ShopOpenW"]==""){
$_POST["ShopOpenW"]=array();
}
として空白のときは空の配列になるようにしました。
期待通りの動作にはなりましたがなんか正統な方法じゃないような
気がするのでもっといいアイデアがあればお願いします。

>>523
あえてエラーレヴェルは下げない方向で・・・
ヘタレなので別の部分で対処すべき不具合も見えなくなっちゃうかも
なので・・・。
0525長文ですいません。2006/09/28(木) 18:35:24ID:???
ログイン後のユーザーページを表示させるのに、セッションを使っているのですが、
これはセキュリティ的にやはり危ないのでしょうか?
というのも、現在、パスワードなどの認証後、$_SESSION["userid"]= $userid みたいな感じで、
値をいれ、各ページでその値が空でなければ、$_SESSION["userid"]の値を元に、
個々のユーザーのデータを抽出して、表示させています。
ただ、$useridはDBからそのまま持ってきた値を使っています。
だから、会員ナンバー1の人はその$useridが1となってます。
これは、すごい危険ですかね?
もし、よろしければ、どういった管理をすれば良いのかアドバイスをください。
宜しくお願いします。
0526nobodyさん2006/09/28(木) 18:47:04ID:???
>>524
<? if($_POST['ShopOpenW']){echo "checked"; } ?>
じゃ、ダメ?
0527nobodyさん2006/09/28(木) 18:49:07ID:???
>>525
login_idっていうの作って見れば?
わたしはUserId.liginIdでハッシュをつくってるけど
まぁ、ログイン時にDBを更新しないといけないけどね・・・
05285222006/09/28(木) 19:06:14ID:ESgbH1eM
>>526
配列に入ってるから無理やり引きずり出さないと使えないと思ってたのに、
こんなにスマートに使えるなんて・・・。
知りませんでした、勉強になります。
0529長文ですいません。2006/09/28(木) 19:11:09ID:???
>>527
ありがとうございます。なるほど、そうしたほうが良さそうですね。
でも、初心者の自分にはちょっと面倒そう。。
でも、そんなこと言ってられないっすよね!
ありがとうございます。
でも、普通はそんな感じで管理するのですかね?
05305222006/09/28(木) 19:12:13ID:ESgbH1eM
>>526
1個だけチェックのときは上手くいったけど
全部同じように処理したら1個チェックをつけただけで
全部のボックスにチェックが付いちゃった。
びっくり〜(●o●)
0531nobodyさん2006/09/28(木) 19:16:30ID:???
>>530
えーまじでぇー
中に'月'って入ってるか見ないとダメか!;
0532nobodyさん2006/09/28(木) 19:20:27ID:???
>>529
めんどくさかったら
login_idだけでもいいんじゃない?

さっきからオレ一人しか答えてないような気がするが。
0533nobodyさん2006/09/28(木) 19:29:54ID:???
>>530
受け取って表示するプログラムってどんなん?
0534530=5222006/09/28(木) 19:38:21ID:ESgbH1eM
>>533
お店が開いてる曜日をチェックするセクションを作ってます。
ただ営業時間とかお店の名前(読み方をカタカナで)とかいろいろ
あって、お店の名前のカタカナ項目にカタカナ以外が入ってたりとか
しないかをチェックしています。
で、カタカナ項目にエラーがあるのにチェックした曜日が消えちゃダメ
なので、前に入力された情報を保持する方法を考えています
やっぱり曜日はセットで保持するべきだと思って、チェックボックスの
項目を配列でまとめています。
0535長文ですいません。2006/09/28(木) 19:42:22ID:???
>>532
もっとめんどくさがって、$useridに数回、endodeした値を
セッションに入れるじゃ、セキュリティはダメですかね!?
すいません、質問ばっかして><
0536nobodyさん2006/09/28(木) 20:01:49ID:???
>>534
でけた。

表示。

$day_arr=array("dummy","月","火","水","木","金","土");
for($i=1;$i<count($day_arr);++$i){
echo '<input name="ShopOpenW['.$i.']" type="checkbox" id="ShopOpenW['.$i.']" value="'.$day_arr[$i].'"';
echo "> ".$day_arr[$i];
}

受取

$post_data = $_POST['ShopOpenW'];
$day_arr=array("dummy","月","火","水","木","金","土");
for($i=1;$i<count($day_arr);++$i){
echo '<input name="ShopOpenW['.$i.']" type="checkbox" id="ShopOpenW['.$i.']" value="'.$day_arr[$i].'"';
if(array_search("$day_arr[$i]",$post_data)) echo "checked";
echo "> ".$day_arr[$i];
}

これでDo?
0537nobodyさん2006/09/28(木) 20:04:45ID:???
>>535
直接useridを持ち歩かなければいいしょ!
なんらかの方法でハッシュ化とか別の物を使用するとかすれば
0538530=5222006/09/28(木) 20:13:59ID:ESgbH1eM
わーお
すごいのきたー。
これ使わせてもらいまっす。

ありがとうございました〜。
0539530=5222006/09/28(木) 20:17:18ID:ESgbH1eM
>>535
自分はユーザIDをセッションで保持することには余り抵抗が無いです
(単にドヘタレなだけだけど)。
ユーザIDとパスワードの両方を持ってるとまずいけどユーザIDだけなら
いいのでは?
あとはSQLインジェクションとかに気をつけて仮にユーザIDがばれても
悪さされないようにするのがいいと思います。

スレ汚しすまんとです。
0540長文ですいません。2006/09/28(木) 20:21:03ID:???
>>537
ありがとうございます!!!
じゃあ、当面は大丈夫だろうと、数回encodeして頑張ってみます。
もっと、勉強してからlogin用のフィールドを作り、ハッシュ化したりします。
本当にありがとうございます。
0541nobodyさん2006/09/28(木) 21:59:01ID:???
$useridを総当たりすると楽しいことができそうな悪寒。
0542521=523=524=527=531=532=533=5362006/09/28(木) 22:13:37ID:???
>>540
ぅぉーがんばれー

そして、俺のMingに対しては誰も突っ込んでくれないんだな;;

もうちょっと文献探して見るかー。
0543長文ですいません。2006/09/28(木) 22:22:41ID:???
やっぱ、エンコードじゃ危ないっすかね〜。。

Ming、頑張ってください。
mingでflash作るなら、普通にflashで作ったほうが自分には早いので!笑
0544nobodyさん2006/09/29(金) 01:33:21ID:???
>>525
その処理のどこが危険なのか、サッパリ意味がわからん。
$useridはPOSTされた値じゃなくて、DBから取った値なんでしょ?
だったら、それをセッション変数に入れて使っても、何の危険も無い。
SQLインジェクション云々などと頓珍漢なことを言ってるヤツもいるけど、
セッション変数とSQLインジェクションは全く関係ないし。

>>541なんてかなりバカで、$useridを総当りとか言ってるけど、
セッション変数を総当りする(総当りに任意の値を格納していく)ことなんて出来ないし。
0545nobodyさん2006/09/29(金) 02:07:01ID:???
俺も>>525が何を危惧してるのか謎。
0546521......536=5422006/09/29(金) 03:36:38ID:???
やっぱりさー、多分セッションとクッキーの違いって分り辛いじゃん。

勘違いしても、まぁ、しかないなかなぁ と思ったり思わなかったり。

でだ、そうなってくるとセッションって見れるん?とか不安を持ったりするんじゃないかな。
だとすると。ああ言う心配がでるのかと。

まぁ、レベルを下げた視野をで物事見ないと難しいよね。
>>541
に関してはナンセンス・・・。
0547nobodyさん2006/09/29(金) 03:41:24ID:???
>>546
そうか!
>>525はセッションとクッキーを混同してんのか!

セッション変数も、クッキーに格納した値と同じように
ユーザが中身を覗いたり改ざんしたり出来る…などと思い込んでるのかな?
0548長文ですいません。2006/09/29(金) 08:10:44ID:???
うーんと、セッションはサーバに保存されて、
クッキーはブラウザ?、ユーザーのほうに保存されるって感じの認識かな。
$useridが簡単な値だと、セッションハイジャック、CSRFが簡単にされたり、
されたときが危険、なのかなぁって思って。
0549nobodyさん2006/09/29(金) 08:30:04ID:???
>>505
君は正しかった・・・。
0550nobodyさん2006/09/29(金) 11:37:32ID:???
>>548
「$useridが簡単な値 → セッションハイジャック、CSRFが簡単にされる」
…などという無茶苦茶な論理構造をどうにかしろボケ。
どういう根拠でそんな100%間違ったこと言ってんだお前は。

スクリプト内の変数$useridに入れる値が簡単だろうが複雑だろうが、
セッションハイジャックやCSRFが発生する可能性とは全く関係ないことだぞ。

それからお前はIDを出せと言ってるだろうがチンカス。
0551nobodyさん2006/09/29(金) 13:23:49ID:???
>>548
セッションハイジャックされた時点でおわり
idが簡単とかいう問題じゃない
パスワードを暗号化してても認証後にハイジャックされたらパスワード関係ないし
0552nobodyさん2006/09/29(金) 17:46:04ID:???
みんなツンデレだなぁ

ちゃんと説明しといて貶す!
やるねぇ

セキュリティに関して考える事はいい事じゃないかーヽ( ´ー`)ノ
がんばれー(*・ω・)
0553 ◆aQcYunoka. 2006/09/29(金) 20:41:26ID:???
>>521
ヒント:CVS

私もコンパイルうまくいかなかったっけど、CVSの落としてきてCent3.7上で成功してるよ。

dependは、re2cとflex(GNUのやつ)だけだったはず。[@うちのLinux]

ちょっとまえにCent3.7でコンパイルさせたののSPECの該当部分。
BuildRequires: zlib-devel, perl,bison,libungif-devel,libpng-devel
Requires: libungif,libpng
0554nobodyさん2006/09/29(金) 23:24:26ID:???
セッションidの総当たりも結構被害大きいよね。
鯖の負荷が高くてサービス不能攻撃が先に成立するけど。
0555nobodyさん2006/09/30(土) 01:54:35ID:???
うちは普通にパスワード認証だよ。
3階間違えたら、画像の文字列を入力させられるよ。
0556nobodyさん2006/09/30(土) 02:43:26ID:???
>>555
なるほど、自動登録だけじゃなくて、総当りも防げるか・・
0557nobodyさん2006/09/30(土) 03:01:52ID:???
>>556
ログイン時の失敗回数をカウントして画像の文字列入力などをさせることと、
セッションID総当り攻撃を防ぐこととは何の関係もないぞ。
総当りってのはログイン通過後のセッションIDを探る攻撃なわけで、
ログイン通過「前」の認証部分における制御は全く関係ない。

ところで、セッションID総当りって、パスワード(通常8〜12文字程度)総当りよりも
確率の低い(時間のかかる)攻撃であって、実際にはありえないだろう。
0558nobodyさん2006/09/30(土) 11:13:19ID:???
セッションは、状況によっては比較的容易に固定させることが可能だから恐いんだがな
0559nobodyさん2006/09/30(土) 12:04:04ID:???
ジーオンクアッドでフレッツプレミアム1Gbpsなら毎秒数万セッションぐらい生成攻撃できると思うけど?
確率は低いと逝っても0じゃない以上、時間をかければ突破できる悪寒。

ログチェックとかで頻繁に検出して対処するしか無いと思う。
0560nobodyさん2006/09/30(土) 13:42:55ID:???
>>558
PHP標準のセッション使ってれば、まず通常考えうる時間内では無理。
さらに言えば、セッションIDをこまめに変更する仕組みをスクリプトに組み込めば良い。

>>559
そんなアホな攻撃、別の段階で検知されるだろう。っていうか検知すべきだろう。
■ このスレッドは過去ログ倉庫に格納されています