PHP
- セッションとGCに付いての検証
こんにちは。 現在、セッションとGCに付いての検証を行っています。 セッションを1時間に1200本3秒毎に、WSHを利用して セッションを張っています。サーバー側で、セッションの 開始と、終了のところでPEARのTimerを使用して、マイクロタイム を取得しています。ですが、GCは、スクリプトの実行最中に 行われているとは思えません。かといって、クーロンで 動いているわけでもなさそうなので、スクリプトの実行終了時 にGCの処理が走ると思われます。となると、マイクロタイムの diffというものは、セッションを純粋に張った時間しか求められません。 GCのトラフィックを図るためにいい手段とはないものでしょうか? 因みに環境は、php4.3,linuxです。 宜しくお願い致します
- フォームの値の再表示
PostgreSQLのデータベースからPHPで問い合わせしたレコードをブラウザで更新するために問い合わせた結果をブラウザ上に表示させています。 $sql = "select col1,col2 from table where id = '$id' ;"; <form action = "update.php" method=post> タイトル: <input type="text"name="col1" value=<?print("$col1");?>> </form> $col1がスペースを含んでいるとこのフォームにはスペースの前まで文字列しか表示されません。 すべての文字列を正しく表示するためにはどういう方法が よいでしょうか?
- ベストアンサー
- PHP
- noname#8847
- 回答数1
- メールアドレスのチェック
質問させてください。 メールアドレスの正当性チェックを作成してみようと思いました。 (1)"@"より左側の部分は3桁以上16桁以内 (2)使用可能文字は、英小文字,数字,'-', '.', '_' (3)先頭文字は英小文字のみ (4)先頭・末尾文字に'-', '.', '_'は使用不可 (5)数字のみ'_', '.', '-'のみのアドレスはだめ --------------------------------------- $value = "xxxxxx@****.com"; $flg = 0; $address = split("@", $value); //****(1)****// if((strlen($address[0]) > 16) || (strlen($address[0] < 3)){ $flg = 1; } if($flg == 0){ echo("このアドレスはつかます"); }else{ echo("このアドレスはつかえません"); } ------------------------------ と、チェックの(1)しかわからないのですが、 (2) ~ (5)のアドバイスを下さい。 宜しくお願い致します。
- PHP(できれば4以上)に対応しているISP
PHPに対応しているISPか もしくは、レンタルサーバを探しています。 レンタルサーバでしたら、有料でも構いません。 広告を入れなくてよいところが希望です。 いいサービスないでしょうか?
- 文字列の中にある改行の除去
textareaで入力した文字列の途中に入った改行を 取り除くにはどうしたらいいでしょうか? 教えてください。 取り除かずにファイルに書き込むと、変な改行に なってしまいます。
- 他ホストからのPOSTを防ぐ方法
php.iniのregister_globalsをOffにすることで不要な GETパラメータを受け付けないようにすることができますが、他ホストから、<form metho=POST acrion=http://***.com/xx.php> などとした場合、他ホストからPOSTできるわけで、 結局、他ホストからPOSTできないようにしないとrgister_globalsをOnにした時と、セキュリティーはあまり変わらないようか気がするのですが、 他ホストからPOSTできなくする方法はありますでしょうか? 現在、思いつくのはPHPに限らず以下の方法ですが、 いずれも完璧ではないような気がします。 1.refererチェック(100%で有効ではないらしい) 2.Sessionによる認証チェック(認証済みユーザなら結局、同一ブラウザを使い他ホストのページからPOSTできる)
- POST
--step1.php-- 名前: TEL: 住所 ------------- --step2.php-- 趣味: 仕事: ペット: ------------- --kakunin.php-- 名前: TEL: 住所: 変更ボタン→step1に戻る→変更後→kakuninに戻る 趣味: 仕事: ペット: 変更ボタン→step2に戻る→変更後→kakuninに戻る -------------- kakunin.phpで変更ボタンを押してstep1.phpに戻って内容編集してstep2.php を通らないで、kakunin.phpに戻すにはどうしたらいいですか? ※すべてpostで渡してます。
- trim()のタイミング
Web-DBといえば、PHPが一番と思っているのでこのジャンルで質問させていただきます。 DBのChar型データと入出力を行う時、trim()を用いますが、どのタイミングで使うと良いのでしょうか? プログラムとSQL上で以下4個所が考えらます。 ・フォーム送信された変数 ・SQLのINSERTする項目 ・SQLのSELECTした項目 ・SQLのWHERE条件
- セッション
phplibを使わないでユーザ認証を用いたwebサイトを作ろうと思います。 shinki.php => login.php => contents1.php=> contents2.php .... のような流れの構造で、直接contents1.phpなどに入られないようにセッションを使用したいと思います。 ユーザが持っているセッション名と、サーバー側のセッション名が一致するという条件だけでログインしたユーザと考えていいのでしょうか? 現在はこのような感じになっています。 まずshinki.phpでユーザー登録します。この時ユーザ情報と暗号化されたパスワードをDBに保存。 login.phpでユーザIDとパスワードを入力し、DBのデータと一致するとcontents1.phpに進む。この時セッションを発行し、idと暗号化されたパスワードをセッションに記憶させる。 contents(1 | 2).phpのコード <? session_start(); // PostgreSQL 接続 if (!($cn = pg_connect("dbname=****"))){die;} // SQL文 $sql = "select * from ***** where id='$_SESSION[id]'"; if (!($rs = pg_exec($sql))) {die;} $ct = pg_numrows($rs); for ($i = 0; $i < $ct; $i++) { $array = pg_fetch_array($rs, $i); } // セッションのパスワードとデータベースのパスワードが一致 if($_SESSION[pass] == $array['pass']){ login_html(); }else{ print "ログインしてください。"; } // PostgreSQL 切断 pg_close($cn); function login_html(){ print "<html><head><title><title></head><body>"; .... .... } ?> このような構造には、セキュリティー的な問題はあるのでしょうか? おそらくいろいろ問題があると思いますので、ご指導お願いします。 一般的なパスワード制のページではどのような処理をしているのでしょうか? よろしくお願いします。 os:linux httpd:apache1.3.27 postgreSQL php4.x.x
- ベストアンサー
- PHP
- nancy_and_andy
- 回答数2
- page_close()の際にトリガをかけたい
PHP Version 4.3.1とpphplib-7.4-pre2を使用 しています。 セッション確立後page_closeしたらこれをトリガとして mailを送るように出来るのでしょうか?
- 締切済み
- PHP
- noname#6681
- 回答数1
- csvからデータベースへ取り込みの際エラーが出る。
Excelで作ったデータをPHPを利用して データベースへ登録しようとしています。 そこで下記のようなエラーが表示されます。 Fatal error: Call to undefined function: i18n_discover_encoding() in /****/****/update.php on line 55 その55行目前後は、 $delim = " ";#Tab $record = file($path.$filename); $record_num = count($record); for($i = 5; $i < $record_num; $i++){ 55行目 $old_code = i18n_discover_encoding($record[$i]); $euc_record[$i] = i18n_convert($record[$i], "EUC", "$old_code"); $euc_record[$i] = str_replace("'","\\'",$euc_record[$i]); ************************* i18n_discover_encodingが悪いようですが いまいち分かりません。 PHP4を使用しております。 初めて質問させていただく為、内容が不十分かもしれませんが、よろしくお願いいたします。
- ベストアンサー
- PHP
- sinsin2243
- 回答数1
- phpMyAdmin 2.3.2の設定について
phpdev5を使ってapache 1.3.2, PHP4.2.3, MySQL4, phpMyAdmin 2.3.2 をインストールしました。 そしてphpdev5を起動し、http://localhost/phpmyadmin/ にアクセスしたら、「あなたのコンフィグレーションファイルの設定がMySQLデフォルトの特権アカウントになっています (rootユーザでパスワードなし) 。 MySQLサーバーもこのデフォルト設定で動作しているので、侵入者に対して無防備です。このセキュリティーホールは必ず閉ざして下さい。」と出てしまいました。 ここから先は、「どこにある」「どのファイル」の「どこを」「どのように」書き換えれば良いのですか。 教えてください。
- phplibの権限について
2つ下のアクセス制限でも質問していますが、圧縮ファイルのダウンロードについて、ログインで認証を与えられた人物以外にはダウンロード不可としたいのですが、phplibで実現させる方法が分かりません。 自分で調べた限りでは、ページの表示に対する制限などはかけられるみたいですが、圧縮ファイルなど、プログラムの書けないファイルへの制限方法が分かりません。 phplibでの制限方法が分からなかったので、代わりの方法としてダウンロードしたいファイルのアクセス権を所有者として、ログインが成功した時点でApacheのユーザーをnobodyから所有者に変更するなど考えて見たのですが、うまくいきません。 良い方法をご存知の方、教えて頂けないでしょうか?
- php.iniの設定
php varsion4.1.1 apache 1.3.20 os windowsNT4.0 servicepack 6a 以上の環境で、phpソフトの作成を楽しんでいるものですが,php.iniの設定が正常に機能しません。お知恵をお貸しください。 php.iniの記述に以下の書き込みをしておりますが、phpinfo()でその確認をしてみますとその記述が反映されていません。 doc_root ="c:/apache/htdocs" include_path ="c:/php/includes" extension_dir = "c:/php/extensions" phpinfo() で見てみますと、それぞれに"no value"となっております。もちろん、apache のリスタートを行っても同じです. ちなみに、asp_tags の設定を off から on に変更してみるとこれは、正確にoff→on に変更が確認できます。 doc_rootが認識されていないにもかかわらず、"c:/apache/htdocs"のもとでphpファイルは作動します.しかし、extensionモジュールは、機能しません。 何が原因でこのようなことが起きているのでしょうか?
- アクセス制限
どのカテゴリで質問するか悩みましたが、こちらで質問させていただきます。 現在、Linux RedHat8、Apache、PHP4の組合せで、ユーザー認証のシステムを作成しています。 この中で、ファイルのダウンロードを行わせるページがありますが、ログインしない限り、ダウンロードが行えない仕組みにしたいのですがうまく行きません。 ファイルのダウンロードページへは、"HTTP_REFERER"を使用すればアクセス制限をかける事が可能ですが、ブラウザのURLへファイルのアドレスを直に入力されたら、アクセスの制限を行えません。 もしかしたら、セキュリティのカテゴリで質問する内容かもしれませんが、PHPで作成していますので、こちらで質問させて頂きました。 どなたか分かる方、宜しくお願いします。
- これをしないと・・・
質問があります。 --------------------------------------------------- ## RFC 2045 に基づき $data をフォーマットします ## $new_string = chunk_split (base64_encode($data)); --------------------------------------------------- この処理はどういうことをしているのでしょうか? $data と $new_string ではなにが異なるのでしょうか? 宜しくお願い致します。
- phpBBのエラー
ホームページにphpBBを設置しようとして今インストールをしているんですがインストール開始のボタンを押すと インストール中にエラーが発生しました データベースの更新中にエラーが発生しました Table 'phpbb_auth_access' already exists というメッセージが出ます。どうしてでしょうか。サーバーはxreaです。
- ベストアンサー
- PHP
- aomorinohito
- 回答数2