【PHP】下らねぇ質問はここに書き込みやがれpart18
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2006/03/15(水) 19:18:21ID:yiOrS10Nここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
まず読め【PHP マニュアル】
http://www.php.net/manual/ja/
本スレ【PHP】質問スレッドpart33【php】
http://pc8.2ch.net/test/read.cgi/php/1140027592/
前スレ【PHP】下らねぇ質問はここに書き込みやがれpart17
http://pc8.2ch.net/test/read.cgi/php/1140786348/
過去スレは>>2-3あたり
0910nobodyさん
2006/04/06(木) 14:13:30ID:???文字列は全部エスケープするような書き方にしとけばいい。
0911nobodyさん
2006/04/06(木) 14:32:26ID:???0912nobodyさん
2006/04/06(木) 15:58:14ID:???このラッパじゃない
0914nobodyさん
2006/04/06(木) 18:08:54ID:vzhvHF2Iいちいち検索した文字列Aを<font color=red>A</font>みたいに置換して表示するしか無いのかな?
0916nobodyさん
2006/04/06(木) 19:24:04ID:???ダンプしてみたら、そのほうが早いね。俺の環境ではeregの7割くらいの速度になったよ。
有益な情報ありが�d。
0917nobodyさん
2006/04/06(木) 19:24:51ID:???0920nobodyさん
2006/04/06(木) 23:20:44ID:7dDG5hihスクリプトは↓です。
$fp = fopen($_FILES['upfile']['tmp_name'], "rt");
$filename = hoge;
while ($data = fgetcsv($fp, 10000)) {
foreach ($data as $value1 => $value2){
$sql = "INSERT INTO customer_csv (name, value1, value2) VALUES ($hoge, $value1, $value2)";
mysql_query($sql);
}
}
ちなみに、私が今格闘しているCSVは2列から成ります。
何か、アイディアありましたら、
またよろしくお願いしますm(__)m
0921nobodyさん
2006/04/06(木) 23:39:54ID:???アイデアもへったくれもあるか
> foreach ($data as $value1 => $value2){
foreach ($data as $d) {
list($value1, $value2) = $d;
0922nobodyさん
2006/04/06(木) 23:57:29ID:7dDG5hihこう↓してみましたが、
while ($data = fgetcsv($fp, 10000)) {
foreach ($data as $d) {
print_r(list($value1, $value2) = $d);
$sql = "INSERT INTO customer_csv (name, value1, value2) VALUES ($filename, $value1, $value2)";
if(!mysql_query($sql)){print"*";};
}
}
list()の部分では、ちゃんと格納されています。
でも、mysql_query()がfalseを返します。
csvはただの文字列なのです。
他にも何かありましたら、お願いしますm(__)m
0923nobodyさん
2006/04/07(金) 00:04:43ID:???なんだそりゃ!?
while ($data = fgetcsv($fp, 10000)) {
list($value1, $value2) = $data;
の間違いだろう。
あとSQLの値はちゃんとクオートしれ
$sql = "INSERT INTO customer_csv (name, value1, value2) VALUES ('$filename', '$value1', '$value2')";
0924nobodyさん
2006/04/07(金) 00:34:14ID:x2+fAQ84カキコありがとうございます。
おっしゃる通り、
クォートしたらインポートできました。
ただ、(スレ違いかと思いますが)
この↓ようなcsvをインポートしたのに、
No.,grade
2000001,1
2000002,2
:
下↓のようになってしまいます。
mysql> select * from customer_csv;
+--------+------+--------+--------+
| csv_id | name | value1 | value2 |
+--------+------+--------+--------+
| 1 | hoge | 200033 | |
| 2 | hoge | N | o |
| 3 | hoge | g | r |
| 4 | hoge | 2 | 0 |
| 5 | hoge | 1 | |
そこで、インサート部分に
VALUES ('$filename', '$value1', '$value2') FIELDS TERMINATED BY ',' ";
を加えてみたのですが、
今度は、また、インポートできなくなりました。
バージョンは、
info.phpによれば、
phpは5.0.1、
mysqlは、Client API version 3.23.57 と出ました。
他に、何か分かりましたら、
お教えくださいm(__)m
0925nobodyさん
2006/04/07(金) 00:49:54ID:???>FIELDS TERMINATED BY ','
何の意味が???
とりあえずif(!mysql_query($sql)){print"*";}の前に print $sql; をやってみて
insert文自体が正しいかをちゃんと確認すれ
0926nobodyさん
2006/04/07(金) 01:09:58ID:x2+fAQ84ありがとうございます。
おっしゃられたとおり、
printしてみたところクエリーがちゃんと発行されていたので、
実行したらうまくいきました。
0927nobodyさん
2006/04/07(金) 01:26:52ID:???だって見られて困るデータなんか入ってないしw
バックアップあるしw
>>904
喰らった事無いし、そんなイタズラするヤシがクレーム入れるわけないし、頭のわるい倉の想定の範囲内で動作させるとこ見せて、それで問題無し。
管理画面からのデータ登録、削除、編集、一覧
外側から、検索、検索結果の各種ソート、ページング、この程度で100とかもらっちゃってるんですけど。
結局、ガワだけきれいにして、トップのメインビジュアルたまに差し替えてやるだけで大喜びよw
0929nobodyさん
2006/04/07(金) 01:48:02ID:???何この馬鹿。
もし、脆弱性が発見されたら、会社全体の信頼が一気に失せるってこと分かってる?
それも、SQLインジェクションの対処という基本的なことすらしてないなら、
取引相手が激減するぐらいの打撃を受ける可能性がある。
俺がクラなら脆弱性意図的に無視するようなとこに依頼したくないからwww
0931nobodyさん
2006/04/07(金) 05:38:51ID:???アフォサイト撲滅のためにDROP埋め込んどこう(w
まあphp使いに仕事頼んでる時点でスキル低いのは覚悟してるでしょ。
Javaなら100じゃ済まんし。
0932nobodyさん
2006/04/07(金) 05:59:00ID:???0933nobodyさん
2006/04/07(金) 06:23:27ID:???0934nobodyさん
2006/04/07(金) 06:33:11ID:???0935nobodyさん
2006/04/07(金) 08:08:09ID:???0936nobodyさん
2006/04/07(金) 10:45:34ID:???_.||___|_____||_
.. / /||___|^ l
.. (・ω・`)//|| |口| |ω・` )
. ./(^(^ .//||...|| |口| |c )
... / // ||...|| |口| ||し
....... (・ω・`) //.... ||...|| |口| ||
/(^(^ // .... .||...|| |口| ||
"" :::'' |/ |/ '' " ::: ⌒ :: ⌒⌒⌒ :: "" `
:: ,, ::::: ,, ; ̄ ̄ ̄ "、 :::: " ,, , ::: " :: " :::: "
0937nobodyさん
2006/04/07(金) 10:54:36ID:???リスクが大幅に減るのに、なんで言い訳して無能をさらす
必要があるんだろ。
0938nobodyさん
2006/04/07(金) 11:55:02ID:???今スクリプト確認したらちゃんと// 汚染除去とか// SQLインジェクション対策とかコメントが書いてあった
さすが俺様と思った
0939nobodyさん
2006/04/07(金) 11:59:20ID:???そういう所で手を抜こうとする神経が理解できん
最低限のレベルでも、高々関数を1つ噛ませるだけの手間なのに
0940nobodyさん
2006/04/07(金) 12:07:47ID:???0941nobodyさん
2006/04/07(金) 13:26:48ID:???0942nobodyさん
2006/04/07(金) 14:37:50ID:???Javaすごいなぁ、いや本当すごい
0943nobodyさん
2006/04/07(金) 14:53:48ID:???0946nobodyさん
2006/04/07(金) 15:03:42ID:???0947nobodyさん
2006/04/07(金) 15:22:14ID:???http://pc8.2ch.net/test/read.cgi/php/1140124172/
こちらでどうぞ
0948nobodyさん
2006/04/07(金) 15:48:30ID:???JavaScript -> PHP と覚えてったσ(゚∀゚ ∬オレ
// ↓↓↓↓↓↓↓↓ 再 開 ↓↓↓↓↓↓↓↓↓
0949nobodyさん
2006/04/07(金) 15:51:09ID:???いい度胸してんな。
0950nobodyさん
2006/04/07(金) 15:54:16ID:???0951nobodyさん
2006/04/07(金) 16:42:14ID:???<?php echo '再開'; ?>
0954nobodyさん
2006/04/07(金) 17:44:55ID:???0955nobodyさん
2006/04/07(金) 18:03:23ID:???0956nobodyさん
2006/04/07(金) 18:05:49ID:???0957nobodyさん
2006/04/07(金) 18:08:05ID:???0958nobodyさん
2006/04/07(金) 20:22:28ID:???0960nobodyさん
2006/04/07(金) 22:25:16ID:???0961nobodyさん
2006/04/07(金) 23:15:26ID:???0962961
2006/04/07(金) 23:16:53ID:???0964nobodyさん
2006/04/08(土) 03:05:18ID:???100ぐらいの仕事しかしてないんならそんなもんだな。
個人情報関連でその脆弱性で飛んだらお前もまとめてあぼーんすればいいさ。
0965nobodyさん
2006/04/08(土) 03:29:58ID:???そんなもんなのか。
個人サイトだけど漏れのサイト(アパート検索サイト)は1日3万PVぐらいなんだけど毎日大量の攻撃的なログが残るけどな。
SQLインジェクションを試されたり、フォームに膨大なデータを入れてバッファーオーバーフローを狙ってるような攻撃がきたり、
CSRFで荒らしを試みられたり、名前とか色々なフォームにタグ入れてPOSTされたりなど。
SQLインジェクションの対策もしてないと、俺のサイトなんて数日で乗っ取られるとおもうけどな
0966nobodyさん
2006/04/08(土) 07:25:46ID:???そういうのは不正アクセス防止法でどうにかできんのかな?
やっぱりサイバーノーガード戦法じゃだめだろうけど
0967nobodyさん
2006/04/08(土) 08:20:00ID:???1日3万PVもあるサイトって俺には想像もつかないんだけど、
どうやってログチェックしてんの?
まさか生ログを目でズラズラと追っかけてんの?
単なるアクセス解析ソフトじゃ攻撃的なログかどうか判別できないだろうし・・・
0968nobodyさん
2006/04/08(土) 08:21:38ID:???っていうかさ、そういうのって、言ってみれば
「住居不法侵入未遂」と同じ行為だよね。
今の法律は「サーバー不法侵入未遂」で逮捕できないのだろうか?
0969965
2006/04/08(土) 08:45:48ID:???Apacheの生ログはAnalogなどで解析するだけで目でチェックはしてない。
攻撃傾向などはphpのプログラム自体にログの出力ルーチンを組み込み、
それは手動でざざっと観覧してる。(例えば検索フォームに入力された文字列など)
>>968
あったら怖い、、
自分もついつい他の人のサイトでここに○○を入れるとどうなるかなーと好奇心で色々やりたくなっちゃうしw
0970nobodyさん
2006/04/08(土) 08:53:07ID:Ultjru+K記事番号とパスワードをいれて、それがTrueなら削除と言う形にしたいのですが、
記事番号をまずファイル(txt)から探しにいって、その行の[6](PASS)と[1](記事番号)が一致なら削除と言う形でいいのでしょうか?
その場合、入力された記事番号を配列に入れるようなやり方はどうすればいいのでしょうか?
0971nobodyさん
2006/04/08(土) 09:08:10ID:???0972nobodyさん
2006/04/08(土) 09:15:24ID:???>プログラム自体にログの出力ルーチンを組み込み
なるほど!! 自分の欲しい情報(ログ)だけ自分で吐き出せばいいのか。
>あったら怖い
でも冷静に考えたら「住居侵入未遂」と何ら変わらない、立派な犯罪行為だよね。
「入ろうとしただけ」でも。むろん「たまたま間違って」変な入力とかしちゃう可能性もあるけど、
短時間に繰り返しそういうことやってる記録が残れば、十分に犯意を認められるでしょう。
現在の法律ってどうなってんのかな?
0973nobodyさん
2006/04/08(土) 11:31:18ID:???ピンポンダッシュが犯罪かどうかは知らん
0975nobodyさん
2006/04/08(土) 12:36:43ID:???犯人が捕まって処罰されて終わりで済むなら、
大阪の池田小学校の事故後の問題は、とうに解決してるわな。
多少の抑止効果があるとは思うけど、そういうのは
「まともな人」にしか通用しない。
0976nobodyさん
2006/04/08(土) 13:11:46ID:???無力だね、ぼくたち(´・ω・`)
0977nobodyさん
2006/04/08(土) 14:17:17ID:neGSM4sDどうすればいいでしょうか?
タグを全て取り除くくらいしか思いつかない。
というか普通のテキストメールに<重要>が入ってたら
取り除かれそうでいやん
0978nobodyさん
2006/04/08(土) 14:30:05ID:???0979nobodyさん
2006/04/08(土) 14:31:00ID:???0980nobodyさん
2006/04/08(土) 14:48:55ID:w/uOiIRC<select name ="aaa">
<option>--選択なし--</option>
<option>a</option>
</select>
で、選択なしを選んだ場合、
空白として処理したいのですが、
if ($aaa == "--選択なし--"){
$aaa = "";}
としてもうまくいきません。
どうしたらよいでしょう?
0981nobodyさん
2006/04/08(土) 14:52:17ID:???0982nobodyさん
2006/04/08(土) 15:13:28ID:???数秒ストップみたいな
0983nobodyさん
2006/04/08(土) 15:17:13ID:???0984nobodyさん
2006/04/08(土) 15:46:01ID:???ピンポンダッシュのつもりが、うっかりドアをこじ開けちゃったら犯罪だぜ。
>>975
人殺しとサーバー侵入とでは、やりやすさの度合いがはるかに違うことを考慮せよ。
サーバー侵入は、その気になれば自宅の部屋から一歩も出ずに、決断してから30秒後にも実行できる。
抑止力の存在が非常に重要だ。
0985nobodyさん
2006/04/08(土) 15:54:07ID:???htmlメールの場合には、ここからここまでhtmlだっつーマークがついている。
それをチェックした上でタグ抜きすればよい。
>>980
<option value="実値">表示値</option> と書くのが正しい。
そして、$aaa($_GET['aaa']や$_POST['aaa']) = "実値" となる。
0986nobody
2006/04/08(土) 18:43:48ID:MHlGyYpVテーブル名に()<全角かっこ>が入っていて、
普通の文字コード変換(mb_convert_encoding($string, "SJIS", "AUTO"))では
エラーになってしまいます。
対応策はありますでしょうか?
0987nobodyさん
2006/04/08(土) 18:59:51ID:???0988nobodyさん
2006/04/08(土) 20:57:13ID:AiL9m4c/新規エントリーのときはプルダウンでカテゴリーを選ぶようにしています。
新規にカテゴリーを追加するときは
カテゴリーを追加ボタンを押すと小窓が開いて、
カテゴリー名を入力→保存→小窓閉じる
という流れになっているのですが、
メインのウインドウに戻ったときに、いったんブラウザを更新しないと、
(もう一回データベースを読みに行かないと)
プルダウンに追加したカテゴリーが反映されません。
ちなみにエントリーの内容と記事に付けるカテゴリー名は
別のテーブルで管理しています。
ここで問題なのですが、IEだとリロードすることで、
途中まで書き込んだフォームの内容が
全部消えてしまいます。
これを回避するにはどうすればいいでしょうか?
よろしくお願いします。
0990nobodyさん
2006/04/08(土) 21:56:45ID:???全然PHP的解決じゃないけど、
1.メインウインドウのカテゴリー表示部分はID付きDIVタグ内に記述
2.小窓でカテゴリー更新→JavaScriptで親ウインドウのカテゴリーDIVのInnerHtmlを更新
ってやれば、容易に連動できるんじゃない?
それ以外にも方法はあるだろうけどいずれにしてもJavaScript併用が必要そうだし。
0991990
2006/04/08(土) 21:57:55ID:???じゃあ、その内容を小窓からJavaScriptで更新すればいいわ。
0992nobodyさん
2006/04/09(日) 00:24:40ID:???すげー愛社精神ワロス
うちの会社も、エラー処理とかやってると、
「そんなのいいから、とりあえず動くようにしちゃってよ。予算も時間もないんだから!」て怒られるよ。
上に命令される以上知った事じゃない。
0993980
2006/04/09(日) 00:32:45ID:???ありがとうございました。
なぜか、valueを削除していました。
もう一つ質問なんですが、
検索結果を、表示させる際、ページを分けて表示したいのですが、
検索結果の2ページ目以降が、フォームで受け取った値を保持しません。
どうしたらよいでしょうか?
0994nobodyさん
2006/04/09(日) 01:05:33ID:qYTyFCRsたった一つの関数噛ませるのがそんなにイヤ?
とういうか、どんだけ大掛かりなことを想像してるの?
SQLインジェクション以前に、文字列入力するフォームにアポストロフィ一個入ってるだけで動かなくなるようなもの作って納品してるの?
0995nobodyさん
2006/04/09(日) 01:06:33ID:???すごい落ち着きの無い会社だな。
漏れの会社は上司からは、コードが汚いだの、安全性は最重視しろだのと言われるし
セキュリティホールチェックの期間も十分に与えられる
ただもし脆弱性が発見されたら首レベルの始末が・・・orz
0997nobodyさん
2006/04/09(日) 01:11:32ID:???エラーチェックやセキュリティ確保をする時間すら与えられないなら悪いけどその会社自体がくさってる
0999nobodyさん
2006/04/09(日) 01:25:50ID:???よくそんな会社で仕事してられるな。
プログラマの能力評価もまともにできねーだろ、そんなとこじゃ。
つーか、学生のバイト中心で安い!早い!だけを売りにしてる会社じゃねーの?
>>995
うちはそこまで安全重視ではないけど、SQLのエスケープ処理くらいはさすがに常識の範疇。
1000nobodyさん
2006/04/09(日) 01:27:42ID:???http://pc8.2ch.net/test/read.cgi/php/1142417901/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。