0

ユーザーがMySQLデータベースにログインする必要があるプロジェクトに取り組んでいます。私は認証システム(名前、電子メール、ハッシュ化されたパスワードなどを含むauth / userテーブル、phpセッション)の作成に取り組んでいます。これは私が思っていたよりも多くの作業ですが、それを通り抜けています。ただし、データベースへの最初の接続については少し混乱しています。私はそれをサイトのドキュメントルートの外に保つために読んだことがありますが、それを参照する方法がわかりません。これが私が考えていたものです:

サイトのドキュメントルート:

/var/www/public/example.com/public/ {index.html、css、img、etc}

ここにdb_connect情報を安全に配置できますか?

/var/www/public/example.com/private/ securephpfunctions.php

次に、すべてのphpファイルに1行が含まれます。

<?php
// include in all files that need to do stuff
require_once('examplecom_fns.php'); 
?>

examplecom_fns.phpの内部は次のとおりです。

<?php
// include in all files
require_once('/var/www/public/example.com/private/securephpfunctions.php');
require_once('forms_fns.php');
require_once('outputs_fns.php');
?>

この後、DB接続関数を呼び出して、新しいユーザー情報をDBに挿入したり、パブリック全体を検索しているサインインしていないユーザーに使用したりできると思います。それは正しいですか?私が試していることを行うためのより良いまたはより安全な方法はありますか?私は基地から離れていますか?

4

1 に答える 1

0

次の方法でドキュメントルートを参照できます。

$_ENV['document_root'];

次に、相対パスを追加することで、プライベートパスを取得できます。

realpath($_ENV['document_root'] . '../private');

次に、それにプライベート構成ファイルの名前を追加します。

realpath($_ENV['document_root'] . '../private/securephpfunctions.php');
于 2012-11-25T19:54:25.590 に答える