何よりも、「これは BIGGGGG のセキュリティ上の問題です」という類の回答を除いて、それで問題ありませんが、リスクの詳細な回答をお願いします。
ここに私の問題があります:内部のファイルを編集することなく、いくつかのフォルダーを自動的に保護するためにphpを使用しています。次に、.htaccess で移動します。問題は、.htaccess ファイルと .htpasswd ファイルが作成され、適切なアクセス権 (フォルダーなど) で作成されますが、常に 500 内部エラーが返され、エラー ログを確認すると、エラーについて具体的に書かれたものは何もありません。 . ファイルを手動で作成すると、機能します。
phpコードは次のとおりです。
$htpath = '../../.htpasswds/'.$ref;
mkdir($htpath, 0750);
$htpass = $htpath.'/.htpasswd';
$ourFileHandle = fopen($htpass, 'wb') or die("Can't create .htpasswd file.");
$chars = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789";
$special_chars = '-_@#)([]|-=';
$pass = $chars[rand(0,strlen($chars)-1)].$special_chars[rand(0,strlen($special_chars)-1)].$chars[rand(0,strlen($chars)-1)].rand(0, 9999).$chars[rand(0,strlen($chars)-1)].$special_chars[rand(0,strlen($special_chars)-1)];
$content = 'client_access'.$id.':'.crypt($pass, base64_encode($pass));
fwrite($ourFileHandle, $content) or die("Can't create .htaccess file.");
fclose($ourFileHandle);
$htpass = $path.'/.htaccess';
$handle = fopen($htpass, 'wb') or die("Can't create .htpasswd file.");
$content = 'AuthType "Basic" ';
$content .= "\n";
fwrite($handle, $content);
$content = 'AuthUserFile "/home/thedigi1/.htpasswds/'.$ref.'/.htpasswd" ';
$content .= "\n";
fwrite($handle, $content);
$content = 'Require valid-user ';
$content .= "\n";
fwrite($handle, $content);
$content = 'RewriteOptions inherit';
$content .= "\n";
fwrite($handle, $content) or die("Can't create .htaccess file.");
fclose($handle);
何が問題を引き起こす可能性があるか考えていますか? または、より良い解決策を教えてください。
どうもありがとう!
編集: 作成された htaccess のコードは次のとおりです。
AuthType "Basic"
AuthUserFile "/home/thedigi1/.htpasswds/A-161012-47/.htpasswd"
Require valid-user
RewriteOptions inherit
ただし、htaccess を作成する php ファイルにアクセスするために htaccess を介して既に認証されていますが、それが問題になると思いますか?