こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

非公開フォルダと属性と.htaccess

独学でPHPを勉強しています。
認証のパスワードとMySQLのユーザー名とパスーワードをどこに保存すればいいのか分かりません。

[sitemix]というレンタルサーバーを利用しており、[site][blog]フォルダ以外に置けば、
非公開になることが分かりました。

そうすると、確かに、ネット上からはアクセスできませんが、拡張子を何にすればいいのか、属性をどうすれば一番セキュリティ強度が高まるのか分かりません。

掲示板の管理画面に入れる認証パスワード
非公開ディレクトリ上にあるファイル(p.php)属性404
<?php
$pass=sha1("pass");
?>
公開のファイルからアクセス
require(../../p.php);
if($pass==sha1($_POST('POST送信で受け取った値')){認証チェックが通った場合の処理}

問題は、例えば、p.phpの属性が初期設定の604でも変わらないのでしょうか?
最適な属性が分かりません。
また、拡張子をdatファイルなどにしてfopenで取得しても同じでしょうか?
.htaccessは非公開領域でも、使用した方がいいのでしょうか?

MySQLに関しては、非公開ディレクリ上にsql.phpを置き属性を404にしています。
<?php
$SERV="IPアドレス";
$USER="ユーザー名";
$PASS="パスワード";
$DBNM="データベーススペース名";

mysql_connect($SERV,$USER,$PASS) or die(mysql_error());
mysql_select_db($DBNM);
mysql_query('set names utf8');
?>

認証画面と同じようにして、requireでMySQLに接続して、選択しています。

ネットや参考書では、まず、Passなどを分離してないことが多く、
どうすれば、個人レベルでセキュリティ強度を高めることができるのが書かれていません。

宜しくお願いします。

投稿日時 - 2011-02-23 14:40:02

QNo.6544533

困ってます

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

phpは ブラウザで表示される際はプログラムとして認識することになるので、
パスがもれることはないです。
(サーバーにphpが適用されていればおk。適用されてなければ、テキストで出ます)
普通にそのまま 書き込んでます。

私の場合は、セキュリティーというより、利便性の問題で
<?php
$SERV="IPアドレス";
$USER="ユーザー名";
$PASS="パスワード";
$DBNM="データベーススペース名";
?>
だけ config フォルダーみたいなもんを用意して、そこにrequireで問い合わせてます。
パーミッションは、444でしたが あんまり 気にしてなかったです。
.htaccess はおいてないです。

私の環境では 他は 公開フォルダ ・ポートの開放やらなんやらで 対処してます(自サーバ)。
他レンタルなら、sitemix がどうだったか忘れましたが、.ftpaccess とかも おけるかも。

投稿日時 - 2011-02-26 01:59:44

お礼

お答えありがとうございます。
phpファイルなら、見れないですよね。
444ですか、いろんな属性があるのですね。。。

自サーバーなのですか、すごいですね。
ftpaccessというのを知りませんでした、勉強になりました^^

投稿日時 - 2011-02-27 22:11:00

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問