315 lines
8.8 KiB
PHP
315 lines
8.8 KiB
PHP
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
|
<link rel="stylesheet" href="css/prism.css">
|
|
<link rel="stylesheet" href="css/style.css">
|
|
<script src="//cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.4.2/clipboard.min.js"></script>
|
|
<script src="js/prism.js"></script>
|
|
|
|
<style>
|
|
@body-bg: #456;
|
|
@color-light : #999;
|
|
@color-dark : #777;
|
|
body {
|
|
background-color: #456;
|
|
background-color: @body-bg;
|
|
color: #EEE;
|
|
color: contrast(@body-bg, @color-dark, @color-light);
|
|
width:100%;
|
|
}
|
|
|
|
input:invalid {
|
|
border: 2px solid red;
|
|
}
|
|
|
|
input:valid {
|
|
border: 1px solid green;
|
|
}
|
|
|
|
input:required {
|
|
background:hsl(180, 50%, 90%);
|
|
}
|
|
|
|
input, textarea, select {
|
|
padding:3px;
|
|
border:1px solid #F5C5C5;
|
|
border-radius:5px;
|
|
width:250px;
|
|
box-shadow:1px 5px 5px #333;
|
|
}
|
|
|
|
input[type=submit] {
|
|
width:100px;
|
|
margin-left:5px;
|
|
box-shadow:1px 5px 5px #333;
|
|
cursor:pointer;
|
|
}
|
|
|
|
.post-it {
|
|
background:#fefabc;
|
|
padding:15px;
|
|
font-family: 'Gloria Hallelujah', cursive;
|
|
font-size:15px;
|
|
color:#000;
|
|
width:250px;
|
|
|
|
-moz-transform: rotate(7deg);
|
|
-webkit-transform: rotate(7deg);
|
|
-o-transform: rotate(7deg);
|
|
-ms-transform: rotate(7deg);
|
|
transform: rotate(7deg);
|
|
|
|
box-shadow: 0px 10px 12px #333;
|
|
-moz-box-shadow: 0px 10px 12px #333;
|
|
-webkit-box-shadow: 0px 10px 12px #333;
|
|
}
|
|
|
|
.post-it2 {
|
|
background:#FFFFB0;
|
|
text-align: left;
|
|
vertical-align: top;
|
|
padding:10px;
|
|
color: #000;
|
|
width:100%;
|
|
height:155px;
|
|
box-shadow: 0px 10px 12px #333;
|
|
-moz-box-shadow: 0px 10px 12px #333;
|
|
-webkit-box-shadow: 0px 10px 12px #333;
|
|
}
|
|
|
|
hr {
|
|
width:35%;
|
|
}
|
|
|
|
a
|
|
{
|
|
color: #c94663;
|
|
}
|
|
a:link {
|
|
text-decoration: none;
|
|
}
|
|
|
|
|
|
strong, b
|
|
{
|
|
font-weight: 700;
|
|
color: #232323;
|
|
}
|
|
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
<div class="site-content" id="content">
|
|
<center> <H1><a href="/">Make-My-htpasswd</a></H1></center>
|
|
|
|
<center>Crypteur de Mot de Passe pour les .Htaccess<br>
|
|
<?php
|
|
|
|
// Formulaire
|
|
if (isset($_POST['login']) AND isset($_POST['pass']))
|
|
{
|
|
// SECU XSS
|
|
$login = htmlspecialchars($_POST['login'], ENT_QUOTES, 'UTF-8');
|
|
$pass = htmlspecialchars($_POST['pass'], ENT_QUOTES, 'UTF-8');
|
|
// $pass_crypte = md5($_POST['pass']); // On crypte le mot de passe
|
|
$pass_crypte = password_hash($_POST["pass"], PASSWORD_BCRYPT);
|
|
$passdecry = ' . $login . ":" . $pass_crypte.'; // on affiche le passwd
|
|
echo '<br><br><font size="5">Copier la ligne ci-dessous dans le fichier <b>.htpasswd</b></font><br /><br />';
|
|
if (!isset($login)) $login = 'joe';
|
|
if (!isset($pass_crypte)) $pass_crypte = '$1$ndTfdTH2$2nTqNz5KiTfDzAsVhPSu2.';
|
|
echo '<pre><code class="language-less">' . $login . ":" . $pass_crypte.'</code></pre>';
|
|
?>
|
|
|
|
<section class="content-section content-section--paste" id="paste-section">
|
|
<h1>Coller ici (pour vérification)</h1><br>
|
|
<div id="paste-content" contenteditable="true" style="color:black"></div>
|
|
</section>
|
|
<br><br><font size="5"><a href="/">Refresh</a></font><br />
|
|
|
|
|
|
<?php
|
|
}
|
|
else // On n'a pas encore rempli le formulaire
|
|
{
|
|
?>
|
|
|
|
<center>
|
|
<p class="Style2">Entrez votre login et votre mot de passe pour le crypter.</p>
|
|
<form method="post">
|
|
<p align="center"> Login : <br />
|
|
<input type="text" name="login" required>
|
|
<br />
|
|
<br />
|
|
Mot de passe : <br />
|
|
<input type="text" name="pass" required>
|
|
<br />
|
|
<br />
|
|
<br />
|
|
<input name="submit" type="submit" value="Crypter !">
|
|
</p>
|
|
</form>
|
|
</center>
|
|
|
|
|
|
<?php
|
|
}
|
|
?>
|
|
|
|
<!-- Post-it pour rappel création fichier -->
|
|
<center>
|
|
<br /><br /><br />
|
|
<hr>
|
|
<br /><br />
|
|
<div class="post-it">
|
|
<h2>Don't Forget!!</h2>
|
|
<ul>
|
|
<li>Create file: .htpasswd </li>
|
|
<li>Create file: .htaccess</li>
|
|
<li>In your web repo.</li>
|
|
</ul>
|
|
</div>
|
|
<br /><br />
|
|
<TABLE BORDER=0 CELLSPACING=10 CELLPADDING=20 ALIGN="center">
|
|
<TR><div align="center"><em>Exemple Fichier .htaccess</em></div></TR>
|
|
|
|
<TR><TD><h1>.htpasswd</h1></TD><TD><h1>.htaccess</h1></TD></TR>
|
|
<TR><TD>
|
|
<div class="post-it2" WIDTH=100%>
|
|
<?php
|
|
if (!isset($login)) $login = 'joe';
|
|
if (!isset($pass_crypte)) $pass_crypte = '$1$ndTfdTH2$2nTqNz5KiTfDzAsVhPSu2.';
|
|
echo '<span style="color:black;" id="copyTarget">' . $login . ':' . $pass_crypte.'</span>'; ?>
|
|
</div>
|
|
</TD>
|
|
<TD>
|
|
<div class="post-it2">
|
|
<em>
|
|
<font size="3"> AuthName "Restricted Access"<br />
|
|
AuthGroupFile /dev/null<br />
|
|
AuthType Basic<br />
|
|
AuthUserFile /path/to/.htpasswd<br />
|
|
require valid-user<br />
|
|
</font></em>
|
|
</div> </TD></TR>
|
|
</TABLE>
|
|
|
|
<br />
|
|
<!-- // en test
|
|
<?php
|
|
ini_set("allow_url_fopen", "On");
|
|
define('VERSION', '0.1');
|
|
$script = file_get_contents('https://tools.echosystem.fr/Password/htpasswd/version.txt');
|
|
define('REMOTE_VERSION', $script);
|
|
// echo REMOTE_VERSION;
|
|
if(VERSION == REMOTE_VERSION) {
|
|
echo "<div class='success'>
|
|
<p>You have the latest version! </p>
|
|
</div>"; echo VERSION;
|
|
} else {
|
|
echo "<div class='error'> Update v.";
|
|
echo $script;
|
|
echo " available!";
|
|
echo " Your version is v.";
|
|
echo VERSION;
|
|
// echo "<br /> Latest Version: ";
|
|
// echo REMOTE_VERSION; echo $script;
|
|
echo "</div>";
|
|
}
|
|
?>
|
|
-->
|
|
|
|
<br />
|
|
Script by <a href="https://erreur32.echosystem.fr">Erreur32</a> | Version: <a href="https://git.echosystem.fr/Erreur32/Make-My-htpasswd"><?php echo VERSION; ?></a> | <?php echo date('Y'); ?>
|
|
</center>
|
|
|
|
<script>
|
|
(function(){
|
|
|
|
// Get the elements.
|
|
// - the 'pre' element.
|
|
// - the 'div' with the 'paste-content' id.
|
|
|
|
var pre = document.getElementsByTagName('pre');
|
|
var pasteContent = document.getElementById('paste-content');
|
|
|
|
// Add a copy button in the 'pre' element.
|
|
// which only has the className of 'language-'.
|
|
|
|
for (var i = 0; i < pre.length; i++) {
|
|
var isLanguage = pre[i].children[0].className.indexOf('language-');
|
|
|
|
if ( isLanguage === 0 ) {
|
|
var button = document.createElement('button');
|
|
button.className = 'copy-button';
|
|
button.textContent = 'Copy';
|
|
|
|
pre[i].appendChild(button);
|
|
}
|
|
};
|
|
|
|
// Run Clipboard
|
|
|
|
var copyCode = new Clipboard('.copy-button', {
|
|
target: function(trigger) {
|
|
return trigger.previousElementSibling;
|
|
}
|
|
});
|
|
|
|
// On success:
|
|
// - Change the "Copy" text to "Copied".
|
|
// - Swap it to "Copy" in 2s.
|
|
// - Lead user to the "contenteditable" area with Velocity scroll.
|
|
|
|
copyCode.on('success', function(event) {
|
|
event.clearSelection();
|
|
event.trigger.textContent = 'Copied';
|
|
window.setTimeout(function() {
|
|
event.trigger.textContent = 'Copy';
|
|
}, 2000);
|
|
|
|
$.Velocity(pasteContent, 'scroll', {
|
|
duration: 1000
|
|
});
|
|
});
|
|
|
|
// On error (Safari):
|
|
// - Change the "Press Ctrl+C to copy"
|
|
// - Swap it to "Copy" in 2s.
|
|
|
|
copyCode.on('error', function(event) {
|
|
event.trigger.textContent = 'Press "Ctrl + C" to copy';
|
|
window.setTimeout(function() {
|
|
event.trigger.textContent = 'Copy';
|
|
}, 5000);
|
|
});
|
|
|
|
})();
|
|
</script> </div>
|
|
</body>
|
|
|
|
<!-- /!\ Your ip is loggued! -->
|
|
<!-- <?php echo $_SERVER['REMOTE_ADDR']; ?> -->
|
|
<!-- Get info: <?php $hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']); echo $hostname; ?> -->
|
|
<!-- Bye -->
|
|
<!--
|
|
by 🅴🆁🆁🅴🆄🆁32
|
|
|
|
Hosted on
|
|
|
|
🅴🅲🅷🔵🆂🆈🆂🆃🅴🅼
|
|
_____ _ _
|
|
| ____| ___ | |__ ___ ___ _ _ ___ | |_ ___ _ __ ___
|
|
| _| / __|| '_ \ / _ \ / __|| | | |/ __|| __|/ _ \| '_ ` _ \
|
|
| |___| (__ | | | || (_) |\__ \| |_| |\__ \| |_| __/| | | | | |
|
|
|_____|\___||_| |_| \___/ |___/ \__, ||___/ \__|\___||_| |_| |_|
|
|
|___/
|
|
|
|
|
|
01010111011001010110110001100011011011110110110101100101001000000111010001101111001000000100110101111001001000000101001101101001011101000110010100100000001000010010000000111010001010010010000000001101000010100000110100001010010000010110111001101111011101000110100001100101011100100010000001000010011011000110111101100111001000000110000101100010011011110111010101110100001000000100100101010100001000000010110100100000010100110110010101100011011101010111001001101001011101000111100100001101000010100000110100001010000011010000101001010000011011110111011101100101011100100110010101100100001000000100001001111001001000000100010101110010011100100110010101110101011100100011001100110010
|
|
|
|
|
|
</body>
|
|
</html>
|