のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:126,339,347人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレくだすれPHP(超初心者用)5

    php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    751 : nobodyさん - 2009/02/13(金) 11:24:03 ID:??? (+3,-30,-63)
    さらに追記です。うざくてすいません・・・
    header Locationで飛ばさずに、aタグを使って間にワンクッション置く(クリックさせる)と正常に動作します。
    どのみち、その先でまたheaderで飛ばすところで駄目なんですが・・・。
    752 : nobodyさん - 2009/02/13(金) 11:45:37 ID:??? (+4,-29,-92)
    >>749-751
    > softbankの実機のみページが飛ばずに「このページは開けません」みたいなエラーが出ます。

    このときの、サーバーに残るアクセスログは?

    んで、Locationで指定しているURLはドメイン込のフルパスで書いてるよね?
    753 : nobodyさん - 2009/02/13(金) 11:52:57 ID:??? (-1,-29,-38)
    サーバーのアクセスログは見る権限がないので、ちょっと頼んで調べてみます。
    Locationには絶対ではなく、相対アドレスで指定しています。
    754 : nobodyさん - 2009/02/13(金) 12:03:26 ID:??? (+34,-29,-3)
    755 : nobodyさん - 2009/02/13(金) 12:05:58 ID:??? (-1,-29,-10)
    サーバーのログを見ると、302が返ってきているようです。
    要求しているURLは、変ではなくアクセス出来るURLでした。
    756 : nobodyさん - 2009/02/13(金) 12:09:54 ID:??? (+24,-3,-34)
    302はLocationヘッダーを飛ばした時のログでしょう。
    その直後に正しいリクエストが来てるかどうか。
    757 : nobodyさん - 2009/02/13(金) 13:01:14 ID:??? (+57,+29,-5)
    同じリクエストを数回繰り返しているだけでした。
    758 : nobodyさん - 2009/02/13(金) 13:46:02 ID:??? (+67,+29,-89)
    >754
    PDFの資料、大変役に立ちました。
    locationで指定しているアドレスを相対から絶対にしたところ、動作しました。
    ありがとうございました。
    でも、他の部分では相対にもかかわらず正常動作しているんですけどね・・・。
    やはり携帯サイトは難しいです。
    759 : nobodyさん - 2009/02/14(土) 13:18:20 ID:??? (+3,-30,-38)
    RFCだと絶対URL(absoluteURI)になってますね

    rfc2616の14.30 Location
    原文
    http://tools.ietf.org/html/rfc2616
    和訳
    http://www5b.biglobe.ne.jp/~type-aya/rfc/rfc2616j.txt
    http://www.studyinghttp.net/cgi-bin/rfc.cgi?2616#Sec14.30

    ソフバンの方が厳密に仕様に沿っているんでしょう
    760 : nobodyさん - 2009/02/18(水) 18:43:17 ID:??? (+71,-29,-92)
    URLでファイル名やディレクトリを暗号(?)のようにするのはどうやって
    いるのでしょうか?
    例えば、認証するサイトでパスワード変更の時、応答メールで、
    http://hoge.co.jp/mail/CSDFG365
    へアクセスをすれば作業完了という場合の、CSDFG365や
    ダウンローダーでttp://hoge.co.jp/download/CSDFG365にアクセス
    すると、別名のファイル名が保存できる機能が、どう実装されているのか
    知りたいのです。検索キーワードが悪いのか、ファイルの暗号化ソフト
    ばかりヒットして解らずにいます。
    どなたか教えてください。
    761 : nobodyさん - 2009/02/18(水) 19:28:28 ID:??? (+57,+29,-18)
    それをキーにしてどっかから引っ張ってきてるのでは?
    762 : nobodyさん - 2009/02/18(水) 19:45:41 ID:??? (+42,+10,+0)
    >>760
    暗号ではなくユニークキー
    763 : nobodyさん - 2009/02/18(水) 23:18:25 ID:??? (+3,-29,-93)
    前者は
    アカウント情報とそのキーを一緒にDBかなんかに突っ込んでおく
    アクセスがあったらアカウントを有効にしてそのキーを削除する

    とやってるだけ。
    その文字列とあなたのアカウントIDやメールアドレスに直接の関係(例えば、メールアドレスを「暗号化」するとその文字列になるとか)
    はないと思うし、むしろあったら設計として不味い。

    後者も、文字列と実際のファイル名なりデータなりを関連付けるDBを保持しているだけ。
    ダウンロードさせるファイルの名前はヘッダで指定できる。Content-Dispositionでぐぐれ。
    764 : nobodyさん - 2009/02/18(水) 23:18:58 ID:??? (+57,+29,-51)
    質問です。

    皆さん、日記やブログを作るときどのような感じでスクリプトを組んでいますか?
    例えばhtml文字をエスケープして、マジッククォートを取り除いて…といった形で教えてくださるといいんですが。
    765 : nobodyさん - 2009/02/18(水) 23:38:29 ID:??? (+46,+28,+0)
    ぐぐれよ
    766 : nobodyさん - 2009/02/19(木) 11:06:34 ID:??? (+2,-29,+0)
    >760
    mod_rewriteを使ってるんだろうね。
    767 : nobodyさん - 2009/02/19(木) 12:40:19 ID:??? (-1,-29,+0)
    それのどこにmod_rewriteが必要なんだよw
    768 : nobodyさん - 2009/02/19(木) 18:38:41 ID:??? (-1,-29,-25)
    いや、hoge.co.jp/mail/CSDFG365 ←このアドレスの事をいったんだ。
    暗号云々ではない。ズレてしまって申し訳ない。
    769 : 760 - 2009/02/19(木) 22:42:44 ID:??? (+61,+28,-26)
    みなさんありがとうございます。
    パラメータをディレクトリとしていたんですね。
    mod_rewriteを使って解釈しないといけないので、ズレていないと思いますよ。
    使わずにすむ方法は思いつかないんですが・・・。
    助かりました。ありがとうございました。
    770 : 760 - 2009/02/19(木) 22:50:42 ID:??? (+69,+29,-92)
    連続ですみません。もう一つ関連(?)でわからないことがありまして。
    ダウンローダーとか、宅ファイル便とかだとファイルの公開日というのが
    指定できるのですが、その指定した日時まで公開というのはどう実装するので
    しょうか。ユニークキーと期日を保存して、その期日にユニークキーを
    削除すると思うのですが、「その期日」に動作される方法が解らないのです。
    教えて君ですみませんが、どなたかアドバイスください。お願いします。
    771 : 760 - 2009/02/19(木) 22:54:01 ID:??? (+57,+29,-19)
    すみません。
    ×「その期日」に動作される方法
    「その期日」に動作させる方法
    でした。何卒よろしくお願いします。
    772 : nobodyさん - 2009/02/19(木) 22:56:59 ID:??? (+95,-30,-137)
    クラックとかでもなければDB内の改竄はできない気もするんですが
    データを信用するなとのことなので出力時にhtmlspecialcharsを挟んでます
    しかし装飾系のタグが使いたいので以下のようにしてみました
    問題ありますか?

    $str = "@<b@>強調@</b@>@<span class=@”red@”@>赤色@</span@>"; //DBから取得したデータ
    echo str_replace(array("@<","@>","@”"), array("<",">","\""), htmlspecialchars( $str, ENT_QUOTES, "UTF-8" ));
    検索文字はすべて全角、上はあくまでサンプルで実際の検索文字は違います
    773 : nobodyさん - 2009/02/19(木) 23:52:31 ID:??? (+48,-29,-60)
    >>770
    ファイルそのものを削除するならcronなんかを走らせておくのでしょうが、
    ファイルを直接DLではなくCGI/PHP経由でのみDL許可にすれば
    期日後はユニークIDをDBから取り出せなくするだけで実現できるのでは?
    774 : nobodyさん - 2009/02/20(金) 04:23:24 ID:??? (+62,+29,-78)
    >>772
    閉じタグ打たなかったら、ページの最後まで
    適用されてしまうんでない?

    <h1>おはよう


    ↑こんなの。ひろゆきがあめぞうを
    つぶしたときに、「スタイルシート破壊攻撃」というのを
    使ったのだ。「あめぞうウイルス」でググるとわかる。
    775 : 760 - 2009/02/20(金) 08:00:28 ID:??? (+69,+29,-63)
    >>773
    アドバイスありがとうございます。
    その期日後にPHPを起動(?)させる方法を知りたいのです。
    だれもその期日(後)にPHPにアクセスしなければ、PHPは動作しないので。
    あっ誰かがアクセスする時に、期限のチェックをすれば済む話ですね。
    なんか自動的に削除処理しなきゃと思い込んでました。
    超初心者ということで許してください。ありがとうございました。
    776 : nobodyさん - 2009/02/20(金) 08:15:05 ID:??? (-1,-29,-22)
    cronでPHP起動できるやろ
    PHP内でcrontabを書き換えられるかどうかは知らんけど。
    777 : nobodyさん - 2009/02/20(金) 15:07:58 ID:??? (-2,-28,-9)
    自動削除は1時間毎や1日毎みたく定期的にcron動かせばいいんじゃないのかな
    778 : nobodyさん - 2009/02/21(土) 00:09:46 ID:??? (+129,+29,-159)
    >772
    scriptタグを埋め込まれると、ページ内の全表示内容、クッキーを外部のURLに送信される可能性がある。
    onloadなどのJavaScriptを実行されるものは全て同じ。
    多くのシステムがタグを回避するのはこの脆弱性対策のため。
    imageタグによる画像貼り付けや、objectタグによるFlash貼り付けなど、考慮しないといけない事は山のようにある。

    脆弱性対策ってのは、猿真似してりゃいいってもんじゃない。
    「何故」HTMLタグに警戒しないといけないのかを理解し、適切な対策を自分で考える必要がある。
    勘違いするといけないのではっきり言うが、その処理を挟んでもセキュリティは一切向上しない。無駄だ。
    779 : nobodyさん - 2009/02/21(土) 06:29:21 ID:wFQNH034 (+0,+29,-24)
    perlで300行程度の規模のプログラムを外注で打ってもらったらいくら取られますか?
    781 : nobodyさん - 2009/02/21(土) 07:16:06 ID:??? (+11,-6,+0)
    500円
    782 : nobodyさん - 2009/02/21(土) 07:51:36 ID:??? (+42,+19,+0)
    うちなら400円で良いよ
    783 : 779 - 2009/02/21(土) 10:59:46 ID:??? (+34,-29,-23)
    おぉぉそんなものなの?作ってください!!!
    ブラウザーアドベンチャーゲームなんだけど。

    300行分を10本ね 

    連絡先 adobentya@hotmail.com
    784 : nobodyさん - 2009/02/21(土) 11:05:48 ID:??? (+4,-23,-18)
    コメント行3万行入れて4万円上乗せするけどいいか?
    785 : 779 - 2009/02/21(土) 11:11:58 ID:??? (+40,+22,+0)
    だめぽorz
    786 : nobodyさん - 2009/02/21(土) 11:20:40 ID:??? (+19,-30,-80)
    すみませんが質問させてください。
    入場者名と退場者名を同じ1ページ内で、上下のスパン(上半分が入場者名、下半分が退場者名)
    にしてPDF出力したいと考えています。
    プログラムはそれぞれ"nyuujyou.php"、"taijyou.php"が用意されています。
    このように別々のプログラムの結果を、同じページ内でPDFで同時に表示させることはできますか?
    共通の変数は日付$ymdだけです。
    787 : nobodyさん - 2009/02/21(土) 11:54:46 ID:??? (+38,-30,+0)
    >786
    入場.php、退場.phpを、出力結果をechoするのではなく、出力結果を文字列として返す関数に書き直すのが正しい道。
    こういう事は非常によくあるので、「出力結果を組み立てる」部分と「書き出す」部分は明確に分けたほうがいい。
    「入場者名や属性の配列をDBから取ってくる部分」→「それを使ってHTML文字列を組み立てる部分」→「それを受け取って書き出す部分」
    の三段階に分けると使い回しが効く。ロジックの殆どは最初の部分に来て、変更が多いのは簡単な後半だからな。
    例えばCSVでファイルに書き出したい場合、最初の難しい部分にはノータッチで後ろの2つだけ書き換えればよくなる。
    前から順に「モデル」「ビュー」「コントロール(の一部だが)」層と呼ぶ。

    で、レシピだが。
    <?php
    $ymd = '2009/02/21';
    ob_start();
    require_once("入場.php");
    $result1 = ob_get_flush();

    ob_start();
    require_once("退場.php");
    $result2 = ob_get_flush();

    でresult1、$result2に両phpの実行結果が文字列として入る。PDF変換はライブラリを自分で漁れ。
    788 : 786 - 2009/02/21(土) 11:59:35 ID:??? (+62,+29,+1)
    >787
    わかりました、丁寧にありがとうございました。
    789 : nobodyさん - 2009/02/21(土) 12:59:33 ID:??? (+77,+29,-133)
    >>778
    厳しいご意見どうも
    前段に関してはセキュリティ関連のサイトとか見てるんで
    scriptを仕込まれてとかはまあ理解してます(というかこんなことがあると把握してる程度というか)。
    その上で>>772が全くの無駄となるとhtmlspecialcharsが意味を成さないんでしょうか
    それとも関数の後に置換をしてるからダメになるんでしょうか。
    これで100%対策してるとはもともと思ってませんが、htmlspecialcharsで
    ある程度の対策になるという考えは間違ってるでしょうか。
    >>772も置換パターンが読まれたらアウトですが、どういった部分がだめなのか1例だけでも
    教えてもらえないでしょうか。
    790 : nobodyさん - 2009/02/21(土) 14:46:55 ID:??? (+8,-29,-6)
    @<b onmouseover=@"怪しい処理@" @>ボールドだよ@</b@>

    自信ないけど、こんなの入れたらどうなるでしょうか。
    791 : nobodyさん - 2009/02/21(土) 15:18:21 ID:??? (+25,-22,-63)
    >>790
    つまり789の最後に言ってるように@<が<に変換されるのが
    ばれているということが前提ですか?
    ならば置換を行わずにhtmlspecialcharsのみなら問題ないということでしょうか。
    当初の一部タグを有効にしたいというのはとりあえず置いときますが。
    792 : nobodyさん - 2009/02/21(土) 15:38:10 ID:??? (+0,-29,-17)
    >>791
    一部のタグだけ有効にしたいというのならstrip_tagsでいいでしょ
    793 : nobodyさん - 2009/02/21(土) 15:51:07 ID:??? (+101,+30,-188)
    出力時に htmlspecialchars を挟むのは間違えてない。
    万一、SQLインジェクションされて、不正なデータを注入されても htmlspecialchars が出力時に噛ませてあればほんの少しダメージを軽減できる。
    # まぁ、SQLインジェクションが起こった時点でいろいろ見直すべきだと思うけど。

    装飾のタグが使えるのは素敵な機能だと思うけど、自力で組むのは難しいんじゃなかろうか。
    自分ではどんなに完全だ、と思ってても意外なところに穴があったりするし。
    ここで「大丈夫でしょうか?」って聞くくらいならば、そんなものは実装しないのが一番。
    少なくとも str_replace() とかの単純な手法で実装できるような機能ではないと思う。

    置換パターンが読まれてなければ云々については、
    攻撃するときは攻撃者はいろんなパターンの文字列をスクリプトに投げてみて、置換や変換のルールを推測した上で攻撃するんだろうから、
    あんまり考える意味がない。
    794 : nobodyさん - 2009/02/21(土) 15:54:51 ID:??? (+75,-30,-86)
    strip_tags
    http://phpspot.net/php/man/php/function.strip-tags.html

    この関数は、allowable_tagsで許可した全てのタグ の属性を修整しません。
    これには、style お よび onmouseover属性が含まれており、悪意のあるユーザが他のユーザに見せるようなテキストを投稿する際に危険な行為を行う可能性があります。
    795 : 791 - 2009/02/21(土) 16:08:04 ID:??? (+57,+29,-1)
    ありがとうございます。
    ちょっと忙しくなったので夜に反応します。
    796 : nobodyさん - 2009/02/21(土) 19:23:46 ID:??? (+67,+30,-152)
    >>783
    設計はすでにできていてあとはコードを書くだけ?
    それなら設計の読み方わかるニートがやってくれるかもね
    普通の人に頼むならまぁ無理だと思ったほうがいいわ
    時給換算して300行400円はわりにあわない
    10分で300行かけるような超人がいたとしたら
    人の○倍仕事量こなすから○倍よこせってなるのでますます無理
    設計書くなら値段は跳ね上がるから設計書いらないっていうのが
    PHPクライアントなわけだけど
    それだとお金にならないからスルーするというのが業界の流れ
    798 : nobodyさん - 2009/02/21(土) 21:19:21 ID:??? (-12,-30,-282)
    <?php
    $CountLogFile = "カウントログへのファイルパスを指定";
    session_save_path("セッション情報を記録するディレクトリパスを指定");

    session_start();
    if(!file_exists($CountLogFile))
    {
    touch($CountLogFile);
    }
    $File = fopen($CountLogFile , "r+" ) or exit("FileOpenError...");
    flock($File , 2);
    if(empty($_SESSION["Count"]))
    {
    $_SESSION["Count"] = "1";
    $Count = fgets($File , 16);
    $Count = $Count + $_SESSION["Count"];
    }
    else
    {
    $Count = fgets($File , 16);
    }
    rewind($File);
    fwrite($File , $Count);
    flock($File , 3);
    fclose($File);
    ?>

    <?php echo "AccessCount : $Count"; ?>
    799 : nobodyさん - 2009/02/21(土) 21:19:50 ID:??? (+50,+27,-2)
    マルチは地獄に落ちろ
    800 : nobodyさん - 2009/02/21(土) 21:35:22 ID:??? (+43,+25,+0)
    はわわ
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について