【PHP】下らねぇ質問はID出して書き込みやがれ 106
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/04/29(金) 17:11:00.40ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 105
http://hibari.2ch.net/test/read.cgi/php/1300302034/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0016nobodyさん
2011/04/29(金) 17:18:50.65ID:???http://pc5.2ch.net/test/read.cgi/php/1070639208/
【PHP】質問スレッド Part11
http://pc5.2ch.net/test/read.cgi/php/1067635640/
【PHP】質問スレッド Part10
http://pc5.2ch.net/test/read.cgi/php/1064104114/
【PHP】質問スレッド Part9
http://pc5.2ch.net/test/read.cgi/php/1280978480/
【PHP】質問スレッド Part8
http://pc5.2ch.net/test/read.cgi/php/1050249148/
【PHP】質問スレッド Part
http://pc5.2ch.net/test/read.cgi/php/1044478561/
【PHP】質問スレッド Part6
http://pc5.2ch.net/test/read.cgi/php/1038988518/
【PHP】質問スレッド Part5
http://pc5.2ch.net/test/read.cgi/php/1031721334/
【PHP】質問スレッド Part4
http://pc5.2ch.net/test/read.cgi/php/1022999539/
【PHP】質問スレッド Part3
http://pc5.2ch.net/test/read.cgi/php/1013919792/
【PHP】質問スレッド Part2
http://pc5.2ch.net/test/read.cgi/php/1003283567/
【PHP】質問スレッド Part1
http://pc5.2ch.net/test/read.cgi/php/982687820/
0017nobodyさん
2011/04/29(金) 17:22:06.90ID:???0018nobodyさん
2011/04/29(金) 17:25:15.99ID:???そろそろテンプレ議論したほうがいいかもな。
過去ログは最近の10件までという但し書きと、
QA手直しと。
後誰かこいつ通報しといてくれ。
0019nobodyさん
2011/04/29(金) 17:44:33.71ID:???0020nobodyさん
2011/04/29(金) 17:56:50.07ID:???リアルに飛び出して犯罪を犯すから触らないのが吉
0022nobodyさん
2011/04/29(金) 20:29:54.24ID:???自動的にデコードして扱うのが標準設定だと思いますが
このデコードを無効化するにはどうしたらよいのでしょうか
0024nobodyさん
2011/04/30(土) 02:54:48.00ID:???0025nobodyさん
2011/04/30(土) 04:35:58.90ID:???0026nobodyさん
2011/04/30(土) 04:40:23.52ID:IqJNSG7U<?php
require_once('notelib.php');
$id = specialchars($_GET['id']);
$title = specialchars($_GET['title']);
$desc = specialchars($_GET['desc']);
$action = $_GET['action'];
if($action == "create"){
insertNote("新規メモ","");
}else if($action == "delete"){
deleteNote($id);
}else if($action == "update"){
updateNote($id,$title,$desc);
}
header("Content-Type:application/json");
#Apacheなどで動作させる場合は以下の2行の処理が必要です。(理由はP117コラムを参照してください。)
header("Cache-Control:no-cache, no-store");
header("Pragma:no-cache");
print json_encode(readNotes());
?>
0027nobodyさん
2011/04/30(土) 04:42:04.78ID:epnEFXskメールで送信できますか?
0029nobodyさん
2011/04/30(土) 11:50:20.90ID:???0031nobodyさん
2011/04/30(土) 12:10:03.30ID:???動きませんってエラーが出て動かないってことじゃないの
そもそも動きませんだけじゃ意味不明
◯◯したいんだけど動きませんって書け
0032nobodyさん
2011/04/30(土) 12:42:38.39ID:RGQH9zD5外部プログラムなどで直接b.phpにPOST送信された場合でも書き込めてしまいます
自分のサイトのa.phpからしか書き込めないようにする方法はございますでしょうか?
0033nobodyさん
2011/04/30(土) 12:55:18.58ID:???1.a.phpからのリファラかで判断する(手軽だがブラウザがリファラをごまかしてる場合信用できない)
2.Webサーバ側で制御する(Apacheの.htaccessでb.phpに直接アクセスしてきたら403を返すようルールを書く)
3.セッションを使用する
上からお手軽な順番
セッションの扱い方がわからないのであれば2が手軽でお勧め
<Files b.php>
Order allow,deny
Deny from all
</Files>
0034nobodyさん
2011/04/30(土) 13:41:38.83ID:???=とりあえずのやっつけ対処
0035nobodyさん
2011/04/30(土) 13:42:37.91ID:???その.htaccess の書き方じゃ誰もアクセスできないんじゃ?
0036nobodyさん
2011/04/30(土) 13:52:13.20ID:2gWvBqG+投稿者の特定をしなきゃいけないとき(つまり会員ユーザ情報とそのメールのひも付けが必要なとき)
どんな方法がありますか?
mixiのメールで写真投稿機能をみると、送信先アドレスの@の左側がそのつどか会員ユーザごとにユニークになってるようです。
サーバでいちいち受信専用ユーザを生成してるんでしょうか?
他にプログラム的に簡単に解決できる方法ないでしょうか?
自分が考えたのはメール本文にツイッターのハッシュタグ#adgjmみたいなのを埋め込む方法ですが、
これだとユーザの文章に入力制限してしまうので良くないし…
わかりにくかったらすみません、ご意見お願いします
0037nobodyさん
2011/04/30(土) 13:57:49.25ID:???>誰もアクセスできないんじゃ?
ダイレクトアクセスを禁止するのだからあたり前
内部(a.php)からはアクセス可能なんだから問題ないでしょ
0038nobodyさん
2011/04/30(土) 14:16:12.12ID:???32の言ってるのはそうじゃないと思うぞ?
自分で管理しているコンテンツのa.phpに有るフォームタグ以外からの
POSTデータをb.phpではうけつたくないって事じゃないの?
a.phpが内部的にアクセス??
どうやって処理するんだ??
0039nobodyさん
2011/04/30(土) 14:30:09.29ID:???- MTA側で仮想メールボックスを設定する
- メールヘッダの From で識別(ユーザーに登録しておいてもらう)
- メール受信後にログインURL(写真ID付き)を送り返してログインしたユーザーに紐付ける
0040nobodyさん
2011/04/30(土) 14:55:09.68ID:???僕はMTAをqmail + vpopmail でやっとりますが
.qamil-default ってデフォルトの転送設定のファイルでPHPへ渡すように
設定しています。
これだとメールアドレス作る必要ないっす。@より左側なにがきてもプログラム直行です。
多分他のMTAでも同様の事ができると思います。
もし、MTAの設定いじれない環境であれば、
受信アドレスは1つで題名か、本文にユニーク文字列いれるしか
なさげですねー
0041nobodyさん
2011/04/30(土) 15:06:09.64ID:1KNACA+K0043nobodyさん
2011/04/30(土) 15:59:14.21ID:???で検索したら
http://nyx.pu1.net/function/datetime/microtime.html
でてきたぞ?
自分はこういう考えでこう進めたがうまくいかない、もっといい方法ない
て感じの質問のしかたしたがええで。
ここはgoogle検索代行サービスじゃないw
0044nobodyさん
2011/04/30(土) 16:12:04.37ID:1KNACA+K0045nobodyさん
2011/04/30(土) 16:15:54.07ID:???深読みだがdate("u")が使えないというならこれでいいんじゃね?
あとはフォーマットをY/m/dとちょちょいといじれば
0046nobodyさん
2011/04/30(土) 16:21:58.10ID:VjUSuvQSありがとうございます
0047nobodyさん
2011/04/30(土) 19:19:59.61ID:2gWvBqG+なるほど、そういうやり方もありますね
それだと写真投稿の機能があるコーナーごとに受信用ユーザを一つ追加するわけですね
ありがとうございました
>>41
へ〜、スゴい!MTAにそういう機能があるんですか
いちいちPHPからLinuxのコマンド叩いてユーザの生成と削除を繰り返してるのかと思いました
ユーザが写真つきメールを送って反映されるまでのフローは以下の感じですか?
1)ページの生成
2)「写真つきでつぶやく」のリンクさきのメールアドレスの@の左側を生成、同時にユーザIDと一緒にDB登録
3)ユーザがリンクを踏んで写真つけて投稿
4)MTAが判別してPHPに転送
5)PHPで受信ユーザ名をキーにDBから投稿者と投稿先コーナーを判別
6)画像アップロードと判別したコーナー用のDBテーブルにメールの本文を登録
0050nobodyさん
2011/04/30(土) 23:57:37.14ID:???大体そんなのは有効期限もあるだろうし
いちいちDBたたくと重いので必要な情報をシリアライスしてファイルに保管
ファイル名をその@より左側の名前にして保管
メールが届いたときの処理でファイルの有効期限をみて古いのは削除
てなかんじでやっとる。
完全に個人レベルのことなのでセキュリティ上穴があれば逆におせーてください
0051nobodyさん
2011/04/30(土) 23:58:38.34ID:???0053nobodyさん
2011/05/01(日) 02:03:53.19ID:???あちこちで見るアプリなのにPHP本のどれ見ても載ってない
一つだけあるフリーのプログラムは送信先アドレスが固定だし
0054nobodyさん
2011/05/01(日) 06:26:16.72ID:???送信元偽装のことを懸念してるのかな
0055nobodyさん
2011/05/01(日) 10:09:11.05ID:bPOt3NaS送信者なら会員制サービスなら管理情報中のメアドとひも付けて判別できるけど
でも>>50さんのやり方でクリアできそう、勉強になりました
0056nobodyさん
2011/05/01(日) 10:21:52.33ID:NAUjlBwCファイルが更新されたときはファイルサイズが増える時なので減ることはありません
一時間前の内容のテキストファイル
aaa
bbb
ccc
最新の内容のテキストファイル
aaa
bbb
ccc
ddd
eee
としたらdddとeeeを取得したいのです
0057nobodyさん
2011/05/01(日) 11:06:05.86ID:???前回取得したとこを記憶しとけば
そこにfseekして残りとればいいだけだ
0058nobodyさん
2011/05/01(日) 13:40:57.24ID:???0059nobodyさん
2011/05/01(日) 13:42:09.08ID:???Rubyスレ>=Perlスレ>C#スレ>ちょっとだけど超えられない壁Python>超えられない壁ver2.0>PHP
0060nobodyさん
2011/05/01(日) 15:13:38.01ID:???0061nobodyさん
2011/05/01(日) 15:38:02.49ID:???0062nobodyさん
2011/05/01(日) 19:02:06.70ID:T9QxoKbDこのページをブラウザで開いているとします
他のサイトを見るとかブラウザを閉じたりしてこのページから離れた事を知る方法はございますか?
0063nobodyさん
2011/05/01(日) 19:11:30.12ID:???PHPじゃ無理
セッションで紐付けしといてもセッションタイムアウトまで待たないと分からないし
JavaScriptでonunload時にリクエスト送れば可能だけど
JavaScript切ってたら意味ないし正確性に欠ける
そもそもHTTPはそういうもんなので他のプロトコル使うか
プッシュ型に対応してるWebサーバが必要
http://ja.wikipedia.org/wiki/Comet
0064nobodyさん
2011/05/02(月) 01:39:54.28ID:3Vwa/PShApacheだと動かないのにAN HTTPDでは動く
といったサンプルで出くわしましたなぜですか?
そのphpにApache対策の記述が
書かれていたにもかかわらず動きません
#Apacheなどで動作させる場合は以下の2行の処理が必要です。)
header("Cache-Control:no-cache, no-store");
header("Pragma:no-cache");
この2行を書き加えることによって動くはずが
なぜ動かないのですか?
0065nobodyさん
2011/05/02(月) 03:26:14.61ID:XjPCJ7Jp0066nobodyさん
2011/05/02(月) 03:52:31.66ID:3Vwa/PSh現在の知識では全然分かりません。
ためしにPHPは使える無料HPスペースttp://www.pf-x.net/
でためしてもダメでした
現在動いたのはAN HTTPDだけです。
0067nobodyさん
2011/05/02(月) 04:16:54.79ID:???0068nobodyさん
2011/05/02(月) 10:31:55.98ID:FYx/qjGo文字列 日 月 年 文字列
これを年月日で表示させたいのですが動作しません
echo date("Ymd", "KIGENZEN 4 12 2011 NOW");
0069nobodyさん
2011/05/02(月) 12:32:20.06ID:???何したいのかよくわからんけど、こういうこと?
echo "KIGENZEN ".date("d m Y")." NOW";
0070nobodyさん
2011/05/02(月) 12:37:03.25ID:???それともこういうことか?
$str = "KIGENZEN 4 12 2011 NOW";
list($s1, $d, $m, $y, $s2) = sscanf($str, "%s %d %d %d %s");
echo "$y$m$d";
0071nobodyさん
2011/05/02(月) 12:42:33.56ID:???$str = "KIGENZEN 4 12 2011 NOW";
これを年月日で表示させたいのです
正規表現とかsscanfも考えてみたのですが、その日付の妥当性のチェックが行いたいので模索しております
007264
2011/05/02(月) 12:56:44.80ID:3Vwa/PShまったく動かないです。
day10に入ってるのは以下
listbox.js
note.sqlite
noteapi.php
notelib.php
notepad.html
style.css
prototype.js
007364
2011/05/02(月) 13:02:12.12ID:3Vwa/PShttp://s6.ql.bz/~oy764fd/lesson2-3.html
他のphp+javascriptは問題なく動いてます
0074nobodyさん
2011/05/02(月) 13:29:01.39ID:oysXPfmu$rh = apache_request_headers()
$rh["If-Modified-Since"]
$rh["If-Modified-Since"]がnullなんですが何故こうなるのでしょうか?
取得するための方法・設定はございますでしょうか?
0076nobodyさん
2011/05/02(月) 13:56:12.88ID:???If-Modified-Since でググれば?
http://www.arielworks.net/articles/2004/0125a
0077nobodyさん
2011/05/02(月) 14:14:27.88ID:???そのサイトを参考にしているんですがapache_request_headers()にIf-Modified-Sinceの値が入らないのです
サイトで提示されているparse_http_dateにnullの値が渡るためエラーが出ます
0078nobodyさん
2011/05/02(月) 14:21:23.41ID:???0079nobodyさん
2011/05/02(月) 14:23:04.55ID:???あと、リクエストヘッダはクライアントがつけてくるもんだから、疑うならクライアント
んで、そのヘッダは何に使うかというと大抵キャッシュなんで、ブラウザのキャッシュ設定を見る
どうしてもわからなくなったらパケットキャプチャでそのリクエストヘッダがちゃんと送信されてるか確認する
0080nobodyさん
2011/05/02(月) 16:26:09.37ID:???http://hibari.2ch.net/test/read.cgi/hp/1303790568/222n- からの移行か?
移行したならその旨書いておくと回答がスムーズだぞ。
Ajax 使っているなら http:// でファイル読み込んでいるか確認。
file:// でテストするとブラウザは違う挙動を示す。
0081nobodyさん
2011/05/02(月) 16:30:50.10ID:???問題として解決方法を探れるが
そもそも投げてないなら 投げてないからnullなだけであって
なのでブラウザが投げてるのか投げてないのか調べてみては?
firefox 3 なら
https://addons.mozilla.org/ja/firefox/addon/live-http-headers/
とかが使えます。
4に対応しないかなぁ
0083nobodyさん
2011/05/02(月) 16:40:47.60ID:???0084nobodyさん
2011/05/02(月) 16:42:34.03ID:???環境Chromeです
Firefoxは入れてないのでネットカフェに行ってバイナリをダウンロードしてきます
0085nobodyさん
2011/05/02(月) 16:44:34.83ID:???0087nobodyさん
2011/05/02(月) 17:48:32.50ID:fXedI5fS0088nobodyさん
2011/05/02(月) 17:50:10.92ID:???0089nobodyさん
2011/05/02(月) 17:57:15.40ID:???wwwwwwwwwwwwwwwwwwwww
0091nobodyさん
2011/05/02(月) 18:49:34.27ID:???0092nobodyさん
2011/05/02(月) 19:06:39.35ID:???バイナリセーフな str_replace や preg_replace を使う。
http://itpro.nikkeibp.co.jp/article/COLUMN/20070402/267126/
0094nobodyさん
2011/05/02(月) 20:10:42.41ID:???session highjack
CSS
他に対策するものって何?
0095nobodyさん
2011/05/02(月) 20:50:03.98ID:???IP spoofing
SQL Injection
Falsification
CSRF
・・・いくらでもある
0096nobodyさん
2011/05/02(月) 20:51:05.79ID:???0097nobodyさん
2011/05/02(月) 21:05:27.31ID:???まじうけるw
0098nobodyさん
2011/05/02(月) 21:12:26.20ID:???おまえはまずググることを覚えろ
http://lmgtfy.com/?q=DOS+%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3
0099nobodyさん
2011/05/02(月) 21:16:09.46ID:???そんなのPHPで対策できねえだろwwwwww
0100nobodyさん
2011/05/02(月) 21:20:56.05ID:???0102nobodyさん
2011/05/02(月) 22:45:01.79ID:???0103nobodyさん
2011/05/02(月) 23:03:58.43ID:???0104nobodyさん
2011/05/02(月) 23:20:55.88ID:???0105nobodyさん
2011/05/02(月) 23:34:49.33ID:EdnAdetcこれ動きますか?
ttp://d.hatena.ne.jp/harupu/20060328#20060328f3
0107nobodyさん
2011/05/03(火) 00:08:06.97ID:DuddgCeGちなみにPHP5.3とサーバの文字コードはUTF-8オンリー、HTMLもutf-8
差し支えなければどのブラウザでどのようなhtmlを書いて動いたか教えてください
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>あ</title>
</head>
<body>
<div>
<form>
text: <input type='text' name='text' value="<?php htmlspecialchars($_GET{'text'}) ?>"><br>
text2: <input type='text' name='text2' value="<?php htmlspecialchars($_GET{'text2'}) ?>"><br>
<input type=submit value="送信">
</form>
</div>
</body>
</html>
?text=text%E1&text2=%20style%3dbackground:url(javascript:alert('xss'))%20%E1
0108nobodyさん
2011/05/03(火) 00:39:38.83ID:uFdBi8mqPHPファイル(フォルダ)があるとします。
.htaccessでそのフォルダにアクセスさせない方法と
ブラウザからアクセスできない場所に設置する以外で
対策する方法はあるのでしょうか?
0109nobodyさん
2011/05/03(火) 00:46:22.80ID:???0110nobodyさん
2011/05/03(火) 01:06:56.45ID:???zend guardを使うとか?
http://www.zend.co.jp/product/zendguard.html
0111nobodyさん
2011/05/03(火) 14:42:37.99ID:???「--without-curl」となっていました。
(phpinfoの下のほうのcurlではenableになっています)
この場合、configure時のオプションを変えて再コンパイルしないとつかえないのでしょうか?
centosのyumでphpをインストールしたのですが再コンパイル以外の方法はないのでしょうか?
0112nobodyさん
2011/05/03(火) 17:22:20.98ID:roO8CXCR%20leo.%20h%20PdHr%20%21ePlo%21Ilkwil
これ解読できますでしょうか?
0113nobodyさん
2011/05/03(火) 20:10:25.11ID:???> まじうけるw
笑った。
0114nobodyさん
2011/05/03(火) 20:12:51.71ID:???0115nobodyさん
2011/05/03(火) 21:51:26.42ID:???■ このスレッドは過去ログ倉庫に格納されています