PHPとPostgresを使用してパスワード認証するには

このQ&Aのポイント
  • PHPとPostgreSQLを使用してパスワード認証する方法を知りたいです。
  • HTMLに直接PHPを書かずにPostgreSQLにアクセスしてパスワード認証を行いたいです。
  • Postgresのファイルを隠蔽する方法や、参考になるページについて教えてください。
回答を見る
  • ベストアンサー

PHPとPostgresを使用してパスワード認証するには・・・。

こんにちわ, 現在趣味でHPを作成しています。 ただコンテンツについてPersonalで私用したいので,PostgreSQLデータベースを用いてそのテーブルにPHPによってアクセスし,User,Passwordがあえば,入れるようにしたいのです。 ただ,HTMLにPHPを直接書くと,Postgresのファイルなどの場所がわかると思うのです。 ほとんどのページで使用されているaspなどのようにあるファイル(この場合はhoge.asp)などを呼び出して,そのファイルソースを見えなくするにはどうすればよいでしょうか。 またそれに関してなにか良いページがあれば,教えてください。 よろしくお願いいたします。

  • PHP
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • mason
  • ベストアンサー率56% (9/16)
回答No.1

パスワード認証して、アクセス制限ということでしたら、「.htaccess」の方が簡単ではないでしょうか?(ウェブサーバーがApacheの場合) >HTMLにPHPを直接書くと…(.phpと仮定して) Postgresは使ったことがありませんが、共用サーバーでssh、telnetなどのサービスがない限り、他のユーザーから直接ソースを見ることはできません。 PHPのソースはブラウザーではHTMLとして表示されますので、ソース自体が表示されるということはありません。ASPなどと同じです。(Javascriptのように<script>としてHTMLに書くとソースで見られてしまいますが…。)

参考URL:
http://www.zdnet.co.jp/help/tips/linux/l0301.html
yu393939
質問者

補足

こんにちわ, ということは,phpをどこかのファイルからincludeすると,ソースがみれないということですよね。

関連するQ&A

  • postgresのパスワードの変更?

    PHP+PostgreSQLで開発しているのですが、PostgreSQLのパスワードがわかりません。 まず、PostgreSQLのユーザー(postgres)を作成して、パスワードも設定しinitdbでデータベースを初期化しDBを作っていました。 そしてそのDBを作っていた人が突然夜逃げしてしまったのでpostgresのパスワードがわからなくなってしまい、そこでroot権限でパスワードをpasswdコマンドで変更したのですがDBにpostgresでアクセスできません。 [admin admin]$ su - postgres Password: [postgres pgsql]$ psql -d test Password:←ここでは新たに変更したパスワードを入力しました psql: FATAL 1: Password authentication failed for user "postgres" となります。initdb後にpostgresのパスワードを変更した場合は前に設定されていたパスワードを入力しなければならないのでしょうか? またパスワードを調べる手立てはないでしょうか? List of databases Name | Owner | Encoding -----------+----------+----------- test | postgres | SQL_ASCII template0 | postgres | SQL_ASCII template1 | postgres | SQL_ASCII DBの中はこのようになっています。 宜しくお願いします。

  • PHPの認証方法

    こんばんわ, 現在自分のサイトをすこし変更してPostgresを使用したユーザとパスワード認証をしようと思っています。 具体的にはHTMLのuserとpasswordのフォームから入力されたものをpostgresのmemberのテーブルにあるuserとpasswordと認証させ,あっていれば,自分のサイトの中に入れるようにしたいのです。 それで,.htaccess認証ではなく,PHPLIBのなかの認証(インライン認証)を使用したいのですが, (http://www.php.gr.jp/php/phplib/documentation-3.html#ss3.9) これだとネット上をpasswordなどが平文でながれるような感じがするのですが,大丈夫なのでしょうか。 また上記のように,HTML上のフォームからサーバーのDBの認証をおこなうのには,他にどのような方法があるのでしょうか。 ちなみにPHPをHTMLの中に埋め込んで作成したいと思っています。 環境はApache,PostgreSQL,PHP4です。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • php postgres Insert と updateができない

    こんにちは、 現在、php5とpostgresql8でプログラムを行っています。 それで、 $sql = "INSERT INTO t_hoge (name) VALUES('hogesan')"; pg_exec($sql) と、テーブルにデータを入れているんですが、 エラーはでないのに何故かデータがテーブルにインサートできません。 また、アップデートで編集もできません。 しかし、SELECTで既に入力されているデータを読んでprint等で表示させると普通にデータは取れています。 また、telnet等で直接postgresに hoge=> INSERT INTO t_hoge (name) VALUES('hogesan'); と入力するとデータが挿入できます。 なにが問題なんでしょうか。 権限が問題なのでしょうか。 ちなみにテーブル作成するときは CREATE TABLE t_hoge ( name TEXT PRIMARY KEY, info TEXT ); としています。 なにか思い当たる節があれば助言していただきたいのですが。

    • ベストアンサー
    • PHP
  • postgresに接続できない

    環境はxp、apache2、php5、Postgresql8.2です。 ただ今PHPとPostgresqlの勉強をしています。 postgresに接続できなくて困っています。 <?php $d_base = pg_connect("user='postgres' password=xxxx dbname='test'"); //データベースに接続 で、エラーになり その内容は、 Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: could not connect to server: Connection refused (0000000000D/00000) Is the server running on host "???" and accepting TCP/IP connections on port 5432? in です。 ご教示して頂けたら幸いです。

  • PHPでのID、パスワード認証

    学校の宿題でログインページからデータベースに入っているIDとパスワードでログインし、2枚目ページにたどり着くというコードを書いています。 ログオンページにはphpコードは一切なく、ログイン後のページにすべてphpを入れるというやり方です。 データベースに接続はしているのですが、ログインの認証ができず、正しいIDとパスワードをいれてもエラーメッセージ「IDとパスワードが正しくありません」が返ってきます。 コードは $u =$_POST['userid']; $p =$_POST['password']; $result = mysql_query("SELECT * FROM valid_logon"); while($row=mysql_fetch_array($result)) { $username = $row['userid']; $passcode = $row['password']; } if($username == $userid && $pass==$password) { header("Location: mybill.php"); } else if($passcode != $p ||$username != $u ) { echo("Please Enter Correct Username and Password ..."); exit; } としているのですが、何故すべてエラーになってしまうのか、もし宜しかったら教えてください!! どうぞ宜しくお願いします。

    • ベストアンサー
    • PHP
  • Postgrsql8.1.9+PHP5.1.6+apacge2

    すみませんLINUXの初心者です Postgrsql8.1.9+PHP5.1.6+apacge2をインストールしています OSはSentOS5です とりあえずPHPで書いたものをWEBでデーターベースに接続してみて 問題あればエラーが出ると思っていたのですが WEBの画面には何も表示されない状態になってしまいます。 <?php // データベースに接続 $con = pg_connect("dbname=template1 user=postgres password=000"); // クエリの実行 $rs = pg_query($con, "select * from tester"); // 結果セットの行数を取得 $maxrows = pg_num_rows($rs); for ($i = 0; $i < $maxrows; $i++) { $row = pg_fetch_row($rs, $i); echo("$row[0] | $row[1]<br>\n"); } // データベースの接続終了 pg_close($con); ?> HTMLで書いた物はWEB画面には出てくるのですが・・・ とりあえずインストールされてるものを 書いてみました。 postgresql-libs-8.1.4-1.1 postgresql-server-8.1.9-1.el5 postgresql-8.1.9-1.el5 httpd-2.2.3-7.el5.centos php-common-5.1.6-15.el5 php-mbstring-5.1.6-15.el5 php-cli-5.1.6-15.el5 何かが足りないのかconfigの編集が悪いのかまったく わからない状態です PHP・apacheは vi /var/www/html/test.php <?php phpinfo(); ?> を書き込んでWEBを開くとphpinfoのページは開きます。 Postgresqlは単独でテーブルの登録はできます。 解決に必要な情報が要る場合は言っていただければ・・・ ただ初心者なのでコマンドを教えてもらえると助かります すみませんがよろしくお願いします。

  • PHPとPostgreSQLとの連携

    今、WindowsXPでPHPとPostgreSQLを連携 させたいのですがなかなか上手く行きません。 どなたか、分かる方がいれば宜しくお願いします。 環境 OS→Windows HomeEdition Apache→Apache HTTP Serber2.0.59 PHP→PHP4.4.4 PostgreSQL→PostgreSQL8.1.4 です。 PostgreSQLの中にtest_dbというデータベースをつくり setuzoku.phpから接続できるかどうかのif文を作り確認 していますが、何度やっても接続失敗と出ます。 <?php $con = pg_connect("user='postgres' dbname='test_db' password='grjtf'"); if (! $con) { print "接続失敗"; } else { print "接続成功"; } ?>

  • PHPからPOSTGRESQLが接続できない

    すいません。プログラミング初心者です。WINDOWSXPにPHPとAPACHEとPOSTGRESをインストールしました。PHPのプログラムは、INIファイルを反映してうまく動いてくれます。PHPINIファイルでは、POSTGRESを認識しているようなのですが、PHPからPOSTGRESに接続する簡単なプログラムを作って接続しようとすると「POSTGRESのサーバーが見えない」というメッセージが帰ってきます。USERは、最高権限のpostgresでアクセスしようとしているのでデーターベースの権限の問題では、ないと思うのですが、なぜPHPからアクセスできないのでしょう? POSTGRESS単体では、データベースをつくることができます。

  • postgres に接続できない

    PHP4とpostgrs8.0を利用しています。OSはWINDOWS2000です。 $DB_SERVER="localhost"; $Port = "5432"; $DB_NAME="test"; $DB_UID="postgres"; $DB_PASS="abc"; define("DB_CONECT","host=$DB_SERVER port=$Port dbname=$DB_NAME user=$DB_UID password=\"$DB_PASS\""); という設定で pg_connect(DB_CONECT) の接続でエラーが発生します。 Warning: pg_connect(): Unable to connect to PostgreSQL server: FATAL: password authentication failed for user "postgres" in c:\*****.php on line 12 なぜでしょうか? pg_hba.confの設定で host all all 127.0.0.1/32 md5 を host all all 127.0.0.1/32 trust に変更すると接続できるのですが。 それは問題ないのでしょうか? またレンタルサーバーのpostgresを利用する場合、 その設定も個人で変更できるのでしょうか? よろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHPを使用しHTMLのファイル名を・・・

    PHPを使用しHTMLのファイル名をソースに書き込みたいと 思っているのですがどのようにすれば良いのか分からずにいます。 例えば ファイル名が 01.html~99.html まであるとして 今のページ数をHTMLの中に書き込みたいと思っています。 (01.htmlの場合は1ページ目ですといった感じにしたいと思っています。) また01.htmlのソースの中に画像を参照している部分があり001.htmlの場合 01.jpgを参照しているのですがその部分もファイル名からPHPを使用し 自動的に抽出し組み込む方法も探しています。 どなたかPHPでどうすれば出来るかご存知の方いましたら宜しく お願いいたします<(_ _)>

    • ベストアンサー
    • PHP

専門家に質問してみよう