<?php
header("X-Robots-Tag: noindex,nofollow", true);
?>
<html>
<head>
<meta name="robots" content="noindex,nofollow">
<title>Basic認証設定君</title>
</head>
<body>
<?php

$perms = substr(sprintf('%o', fileperms(dirname(__FILE__))), -4);
if($perms != '0777'){
	exit('<p>エラー! ディレクトリのパーミッションを「<strong>0777</strong>」にいったん変更してください。</p></body></html>');
}
if(file_exists('.htaccess')){
	exit('<p>「<strong>.htaccess</strong>」がすでに存在するので処理をやめました。</p></body></html>');
}
if(file_exists('.htpasswd')){
	exit('<p>「<strong>.htpasswd</strong>」がすでに存在するので処理をやめました。</p></body></html>');
}

//メイン
if(isset($_POST['user'])&&$_POST['user']!==""&&isset($_POST['password'])&&$_POST['password']!==""){
	$hash = crypt($_POST['password'], base64_encode($_POST['password']));
	$htpasswd = $_POST['user'] . ':' . $hash;
	$path = dirname(__FILE__);
	$htaccess = 'AuthUserFile '.$path.'/.htpasswd'."\n".'AuthGroupFile /dev/null'."\n".'AuthName "Authorization Required"'."\n".'AuthType Basic'."\n".'require valid-user';
	file_put_contents('.htaccess', $htaccess);
	file_put_contents('.htpasswd', $htpasswd);
	unlink(__FILE__);
	exit('<p>完了しました。<br>もしパーミッションを変更していたら、忘れずに「<strong>0755</strong>」か「<strong>0705</strong>」に戻すんだぜ?</p><p>http://'.$_SERVER["HTTP_HOST"].dirname($_SERVER[PHP_SELF]).'<br>user: '.$_POST['user'].'<br>pass: '.$_POST['password'].'</p></body></html>');
}
?>
<p>「http://<?php print($_SERVER["HTTP_HOST"].dirname($_SERVER[PHP_SELF])); ?>」以下にBasic認証を設定するで。</p>
<form action="<?php print(basename(__FILE__)); ?>" method="post">
  <label for="user">Username:</label>
  <input type="text" name="user" id="user" pattern="^[0-9A-Za-z]+$" autofocus required>※半角英数
  <br>
  <label for="password">Password:</label>
  <input type="password" name="password" id="password" required>
  <br>
  <input type="submit">
</form>
</body>
</html>