【PHP】ID出さなくても質問OKなスレ【初心者歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/02/03(火) 01:09:36ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
0497nobodyさん
2009/05/18(月) 21:41:15ID:???0499名無し募集中。。。
2009/05/18(月) 21:47:19ID:wP2DRNT9「今決まってることを先に全部伝えてもらえれば余分な工数が圧縮できますよ 」
って言うけど
0502nobodyさん
2009/05/18(月) 23:01:36ID:???こう書かれると、htmlなんとかでは
サニタイズできないでしょう?
だからjavascriptって文字をかけない
ようにしなければならないんだけど、
これって正規表現使ってゴリゴリ書かないと
だめなの?
0503nobodyさん
2009/05/18(月) 23:03:28ID:???これって使わないの?
0505nobodyさん
2009/05/19(火) 02:17:09ID:???拡張子を.phpにしようと思います。
これだと、たとえブラウザで直接ファイルを指定しても、
拡張子が.phpなのでPHPファイルとして実行しようとするので
(そして中味はPHPのスクリプトでなくて単なるテキストファイルなので)
見られないというわけです。
でもパーミッションが書き込み可能になっていると
問題ありますか?
0506nobodyさん
2009/05/19(火) 02:28:01ID:???拡張子phpは最後の手段
0507nobodyさん
2009/05/19(火) 02:31:21ID:???発想は悪くないんだがとりあえず試してみ。たぶん思ったのと違う結果になるw
あとパーミッションはあまり気にするな。共用鯖じゃsafemodeでも無い限りどーにもならん。
0508名無し募集中。。。
2009/05/19(火) 03:02:13ID:qJyAGOVK0509nobodyさん
2009/05/19(火) 10:05:00ID:???素直に謝って今後そうすることが無いようにすればいいのに
開き直ってそんなこと言ってるから未だにろくな仕事が出来ねえんだよ。
0510nobodyさん
2009/05/21(木) 17:42:51ID:???その他の制限があったりしないか不安なので質問です。
よろしくおねがいします。
0511nobodyさん
2009/05/22(金) 00:11:50ID:???「 magic_quotes_gpc がONになっているときは、
stripslashes を使ってエスケープを取り除く」
と書いてあるのですが、そんなことをするよりも、
ini_set
とかで、
magic_quotes_gpc をOFF
にするほうが
いいのではないですか?
0513422
2009/05/23(土) 14:25:12ID:???ini_set("display_errors", 0)をファイルの先頭に書こうと考えてます。
ini_set実行以前にエラーが出たら意味なしになってしまいますが、それはどういった場合が考えられるでしょうか。
0514nobodyさん
2009/05/23(土) 14:27:08ID:???0515名無し募集中。。。
2009/05/23(土) 14:27:44ID:sw/qjhoP0516nobodyさん
2009/05/23(土) 15:28:46ID:???そうですね。
たとえば何らかの理由でファイルが読み込めない、実行できない場合ini_set前なのでエラーが出ると思います。
でよくよく考えたら今はerror_reporting(0)でエラーメッセージが出ないようにしてるんですけど
上記のようなときは結局エラーが出るだろうから、ファイル外で設定を変更できない以上エラー表示から逃れられなさそうです。
完全にエラーメッセージを非表示にできなければerror_reporting(0)で対処するつもりで質問をしたんですが、
これも完全でないなら素直にini_set("display_errors", 0)+ログ書き出しで対処します。
失礼しました。
0517nobodyさん
2009/05/23(土) 15:36:50ID:???0518nobodyさん
2009/05/23(土) 15:38:13ID:???そこまで気にしないでも
0519名無し募集中。。。
2009/05/23(土) 16:00:00ID:sw/qjhoP0520nobodyさん
2009/05/24(日) 19:13:43ID:???どのようなスクリプトが使えるのでしょうか?
0521nobodyさん
2009/05/24(日) 19:26:51ID:???0522nobodyさん
2009/05/24(日) 22:03:26ID:???0523nobodyさん
2009/05/25(月) 00:22:37ID:???URLにセッションIDが含まれてしまうので
セキュリティ的に、危険です。
なのでこれを普通は1にすると思いますが、
それはphp.iniを編集できる場合のみです。
レンタルサーバーなどでは、php.iniを編集
できない場合も多いです。
その場合は、session.use_only_cookiesの値を
取得して、それが0なら1にする、と
自分でPHPスクリプトの先頭に書くのでしょうか?
でもそれで間に合うのでしょうか?
0524nobodyさん
2009/05/25(月) 00:24:05ID:???例えばこのページだと、
ini_set( 'session.referer_check', "example.com" );
ini_set( 'session.use_trans_sid', 0 );
ini_set( 'url_rewrite.tags', "" );
ini_set( 'session.use_only_cookies', 1 );
ini_set( 'session.use_cookies', 1 );
ini_set( 'display_errors', 0 );
こんくらい書いてます。
セキュリティをカンペキにするには、
全部でどれだけ書かないといけないのでしょうか?
0525nobodyさん
2009/05/25(月) 00:29:11ID:???0526nobodyさん
2009/05/25(月) 00:29:42ID:???これを安全というのならURLにセッションID含まれてても同様に安全というしかないだろ
0527nobodyさん
2009/05/25(月) 01:19:22ID:???0528nobodyさん
2009/05/25(月) 01:39:29ID:???0529nobodyさん
2009/05/25(月) 02:09:17ID:???0530nobodyさん
2009/05/25(月) 02:14:14ID:???ついてこれないヤツが必ずいるよね
高卒なのかな?
0531nobodyさん
2009/05/25(月) 02:15:06ID:???.
「そんな、カギなんてプロの泥棒が本気だせば5分で開くんだよ
だからいちいちかける意味ないよ」
0532nobodyさん
2009/05/25(月) 02:18:16ID:???0533nobodyさん
2009/05/25(月) 02:33:17ID:???コードを直接書かれると、そのまま実行されてしまいます。
なので、javascriptをサニタイズする必要があるのですが、
ググって出てきたページに
http://php-web.net/security/sanitize.html
a、imgタグでは、<a href="javascript:...といった記述でj
avascriptが実行できます。このため、URL等は javasc
ript挿入対策として、「javascriptで始まる文字列をサニ
タイズする」作業が必要になります。
if (substr($_POST['url'],0,10) == "javascript:") {
die("Illegal URL!\n");
}
----------------------------------------------------
と書いてあるのですが、このコードでサニタイズできますか?
正規表現は使わなくてもいいの?
こういうとき、perlerだったら、100%の確率で
正規表現を駆使した渾身の一作を出してくるはずなんですけど。
0534nobodyさん
2009/05/25(月) 02:51:01ID:???0535nobodyさん
2009/05/25(月) 03:15:54ID:???ここで
「PHP 6.0.0 で削除されました。」
という記述があるが、6なんて
まだ出ていないだろう?
それとも、漏れが知らないだけで、
もう出ているのか?
0536nobodyさん
2009/05/25(月) 03:18:53ID:???0537nobodyさん
2009/05/25(月) 03:23:54ID:aHvsLNiK<entry>
<gd:when startTime='2009-05-28T19:00:00.000+09:00' endTime='2009-05-28T21:00:00.000+09:00'>
<gd:reminder minutes='10' method='email'/>
<gd:reminder minutes='10' method='alert'/>
</gd:when>
</entry>
0538nobodyさん
2009/05/25(月) 04:42:43ID:???var_dump($xml);
してみれば分かるよ
0539nobodyさん
2009/05/25(月) 23:18:15ID:???このやり方でオフにするのって
phpのバージョンが4.2以下でないと
使えないの?
0540nobodyさん
2009/05/25(月) 23:35:00ID:???0541nobodyさん
2009/05/25(月) 23:48:05ID:???ここのページに、
>magic quotes gpcがini_setできるのはPHP4.2.3以下だったと思います
って書いてあるけど??
0542nobodyさん
2009/05/25(月) 23:49:14ID:???ここのページにも、
>you can only modify magic_quotes_gpc this way in PHP versions <= 4.2.3.
って書いてあるけど???
0543nobodyさん
2009/05/26(火) 00:12:13ID:???4.2.4以降 PHP_INI_PERDIR になったからini_setじゃ無理。
0545nobodyさん
2009/05/26(火) 01:13:59ID:???アクセスしてきたやつの
コンピューター名抜くのって
どうやってたの?
0546nobodyさん
2009/05/26(火) 01:37:40ID:???0547nobodyさん
2009/05/26(火) 01:58:06ID:???0548nobodyさん
2009/05/26(火) 11:21:02ID:???globでディレクトリ内の一覧を作ってfilectimeで作成日付を取得して・・・えーとえーと・・・と考えたものの、
「あれ?このあとどうしよう」となってしまいうまくコードにまとめることができません
良い方法はないでしょうか
PHP5
0549nobodyさん
2009/05/26(火) 11:50:15ID:???0550nobodyさん
2009/05/26(火) 12:02:33ID:???foreach(new RecursiveDirectoryIterator('target') as $entry)
if($entry->isFile() && $entry->getCTime() > $last->getCTime())
$last = $entry;
こんなんとか。
0551548
2009/05/26(火) 18:32:03ID:???うわ〜一回で動きました
PHP5で実装された関数まだ使い慣れないんで初めて見ました
ありがとうございます
たまたまディレクトリ内の、取得したいファイル群の名前が全部日付なので、
これの応用で作成日付順じゃなくて名前の順で一番遅い(=新しい)ものを
取得できるんじゃないかと改造してるんですが私には不可能でしたw
0552nobodyさん
2009/05/27(水) 16:01:50ID:???ローカルサーバです
PHP.iniのどの設定を変えたらいいですか?
0553nobodyさん
2009/05/27(水) 16:40:06ID:???0554nobodyさん
2009/05/27(水) 23:11:44ID:???SMTPサーバー経由でないと
メールを送信できないってやつ?
0556nobodyさん
2009/05/28(木) 00:26:24ID:???プロバイダのヘルプをサブミッションポートで検索してみ
0557nobodyさん
2009/05/28(木) 01:30:28ID:???$data = @file($filename);
PHP5でローカルのWindows機でテストしているのですが、上のように下位フォルダにあるファイルを開こうとすると失敗します。
ディレクトリを表す"/"の部分がWinだと\だからだと思うのですが、そもそも根本的に"/"で変数を繋ぐのが変なような気もします。
サーバー上でもローカルWin機でも動くようにできないものでしょうか。
0558nobodyさん
2009/05/28(木) 01:44:46ID:???$が間違って&になってましたw
切腹してきますw
0560nobodyさん
2009/06/01(月) 20:27:02ID:???3021 → 亜
のように、実際の文字を表示するには、
どのようにしたらよいのでしょうか?
よろしくお願いします。
0561nobodyさん
2009/06/01(月) 21:02:57ID:???echo "\x1b\$B",pack('H*', 3021);
0564nobodyさん
2009/06/07(日) 01:18:31ID:q/9VwFhzloginディレクトリ内のリンクで<a href="../index.html">とするとhttpsのまま
階層が1つ下がるだけとなります
これをhttpにする関数はあるのでしょうか?
0565名無し募集中。。。
2009/06/07(日) 01:42:48ID:kkylNn0/0566nobodyさん
2009/06/07(日) 01:53:33ID:???コレとアレならこっち使うのがイイ!
みたいなベストプラクティスとかある?
0567nobodyさん
2009/06/07(日) 02:08:23ID:???0568nobodyさん
2009/06/07(日) 02:15:41ID:???よくあるのが
is_nullを使わないで、 $hoge === null で評価したほうが早いとか
正規表現で評価できるsplitを使うより単純に「,」とかできりたいならexplodeを使ったほうが早いとか
0569nobodyさん
2009/06/07(日) 02:35:59ID:???0570nobodyさん
2009/06/07(日) 10:51:54ID:???どなたか親切な方^^いないでしょうけど教えてくdさい!
0571nobodyさん
2009/06/07(日) 11:08:03ID:???0572nobodyさん
2009/06/07(日) 11:50:14ID:???初心者ながら自作サイトを作成しているのですが、なぜか作成したページが
「疑わしいWebページを遮断しました」とノートンが反応するようになりました。
ソースが長いので記載はできないのですが、内容はmailtoで送信するための
名前やメアドを入力した後の「以下の内容で間違いないですか?」みたいな
画面です。値はメアド入力画面から$_POSTで受けとってます。
遮断される可能性としてはどのようなものがありますでしょうか?
すいませんがアドバイスを御願いします。
0573nobodyさん
2009/06/07(日) 11:53:14ID:???0574572
2009/06/07(日) 12:01:37ID:???ノートンのセキュリティ履歴をみると
「疑わしいサイトとしてシマンテックに提出しました」としか記載がなく
なぜ疑われているのかがわからない状態です。
0575nobodyさん
2009/06/07(日) 13:06:34ID:???ノートンの判断はノートン作った人にしかわからん
つまり、「疑わしいWebページを遮断しました」でぐぐって似たケースを見るのがいいかと
0576nobodyさん
2009/06/07(日) 13:25:53ID:???疑わしいものを削っていけばわかるかもよ
0577572
2009/06/07(日) 15:11:25ID:???すいません。ソース長くてどこを見せればいいかわからない状態です。
ソース削りながら色々試してみます。
ありがとうございました。
0578nobodyさん
2009/06/10(水) 11:22:45ID:???それに便利な関数はないでしょうか
PHP4
0579nobodyさん
2009/06/10(水) 11:30:01ID:???0580nobodyさん
2009/06/10(水) 11:31:18ID:???0581578
2009/06/10(水) 11:56:17ID:???30秒で終わりますた
15分ぐぐって損しますた
0583nobodyさん
2009/06/11(木) 10:23:35ID:???0584nobodyさん
2009/06/11(木) 13:32:40ID:???あ、0のときはしらん。
0585nobodyさん
2009/06/11(木) 14:09:33ID:???0586nobodyさん
2009/06/11(木) 14:10:28ID:???0587nobodyさん
2009/06/13(土) 16:08:22ID:???入力画面←→確認画面→送信
と行ったり戻ったりするフォーム作るって変?
遷移するたびに文字のエスケープやらなんやらで埋もれるんで明らかにいけてないなと
0588nobodyさん
2009/06/13(土) 16:18:56ID:???0589nobodyさん
2009/06/13(土) 18:08:42ID:???0591587
2009/06/14(日) 21:34:45ID:???フォームに入力→POST→確認画面→戻るリクエスト→hidden大量で入力画面にバックして反映
この間globalでユーザー関数またぎまくり
>>589
戻ると次へと送信でhiddenとそのエスケープ処理が100コくらいある
>>590
クッキー使えないのと、心理的にURLに埋め込みたくないのと、
ブラウザのバックボタンで期限切れだしたくない(じいちゃん連中向けなんでヤツらはパニクる)のでどうしていいやら
最後のはセッション関係なかったっけ
機能的にはできあがってきちんと動いてるんだが超気持ち悪い
やり方あったら教えてプリーズ
0592nobodyさん
2009/06/14(日) 21:54:41ID:???>ブラウザのバックボタンで期限切れだしたくない
youメニュー隠しチャイナyo
っていうか心理面を克服してでもセッション使ったほうが楽だと思うんだがなぁ。
0593nobodyさん
2009/06/14(日) 21:56:49ID:???0595nobodyさん
2009/06/14(日) 22:11:51ID:???0596nobodyさん
2009/06/15(月) 20:18:19ID:???あるフォームに入力された全角文字を半角文字にして他のフォームに代入するといった事をやっていますが、
全角→半角にするのはmb_convert_kanaでやるとして問題は半角に出来ない文字(例えば漢字など)を取り除いて
代入したいのです。要は半角に変換した後の文字列から全角文字だけを取り除いて半角文字列だけにしたいのです。
例:HOGE安弘MOGE → HOGEMOGE
こういう事は正規表現で可能でしょうか?
■ このスレッドは過去ログ倉庫に格納されています