mirror of
https://github.com/getnamingo/registry.git
synced 2025-07-27 04:48:26 +02:00
Web whois is done
This commit is contained in:
parent
41fab9ab91
commit
1add432b9f
4 changed files with 83 additions and 116 deletions
|
@ -1,39 +0,0 @@
|
||||||
<?php
|
|
||||||
require 'vendor/autoload.php';
|
|
||||||
|
|
||||||
use Gregwar\Captcha\PhraseBuilder;
|
|
||||||
session_start();
|
|
||||||
|
|
||||||
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|
||||||
if (!isset($_POST['domain']) || !isset($_POST['captcha'])) {
|
|
||||||
echo json_encode(['error' => 'Invalid request.']);
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (PhraseBuilder::comparePhrases($_SESSION['captcha'], $_POST['captcha'])) {
|
|
||||||
echo json_encode(['error' => 'Incorrect Captcha.']);
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
$domain = $_POST['domain'];
|
|
||||||
$whoisServer = 'whois.example.com';
|
|
||||||
|
|
||||||
$output = '';
|
|
||||||
$socket = fsockopen($whoisServer, 43, $errno, $errstr, 30);
|
|
||||||
|
|
||||||
if (!$socket) {
|
|
||||||
echo json_encode(['error' => "Error connecting to the Whois server."]);
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
fwrite($socket, $domain . "\r\n");
|
|
||||||
while (!feof($socket)) {
|
|
||||||
$output .= fgets($socket);
|
|
||||||
}
|
|
||||||
fclose($socket);
|
|
||||||
|
|
||||||
echo json_encode(['result' => nl2br(htmlspecialchars($output))]);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
echo json_encode(['error' => 'Invalid request method.']);
|
|
||||||
}
|
|
|
@ -1,61 +1,65 @@
|
||||||
<?php
|
<?php
|
||||||
require 'vendor/autoload.php';
|
session_start();
|
||||||
|
|
||||||
use Gregwar\Captcha\CaptchaBuilder;
|
use Gregwar\Captcha\CaptchaBuilder;
|
||||||
|
|
||||||
$builder = new CaptchaBuilder();
|
// Include this part only if the script is requested as an image (for the captcha)
|
||||||
$builder->build();
|
if ($_SERVER['REQUEST_URI'] == '/captcha.php') {
|
||||||
session_start();
|
require 'vendor/autoload.php'; // Adjust path as needed
|
||||||
$_SESSION['captcha'] = $builder->getPhrase();
|
|
||||||
|
$captcha = new CaptchaBuilder;
|
||||||
|
$captcha->build();
|
||||||
|
|
||||||
|
$_SESSION['captcha'] = $captcha->getPhrase();
|
||||||
|
|
||||||
|
header('Content-type: image/jpeg');
|
||||||
|
$captcha->output();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Whois Check</title>
|
<title>WHOIS Lookup</title>
|
||||||
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,300italic,700,700italic">
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/milligram/1.4.1/milligram.min.css">
|
||||||
<link rel="stylesheet" href="//cdn.rawgit.com/milligram/milligram/master/dist/milligram.min.css">
|
|
||||||
<script src="script.js"></script>
|
|
||||||
<style>
|
|
||||||
.row {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
.domain-input {
|
|
||||||
width: 45%;
|
|
||||||
}
|
|
||||||
.captcha-input {
|
|
||||||
width: 35%;
|
|
||||||
margin-left:10px;
|
|
||||||
}
|
|
||||||
.captcha-container {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h1 class="text-center">Whois Check</h1>
|
<h1>WHOIS Lookup</h1>
|
||||||
<form id="whoisForm">
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="domain-input">
|
<input type="text" id="domainInput" placeholder="Enter Domain Name" autocapitalize="none">
|
||||||
<label for="domain">Domain</label>
|
<img id="captchaImg" src="captcha.php" onclick="this.src='captcha.php?'+Math.random();">
|
||||||
<input type="text" id="domain" name="domain" placeholder="example.com" required>
|
<input type="text" id="captchaInput" placeholder="Enter Captcha" autocapitalize="none">
|
||||||
|
<button id="whoisButton">WHOIS</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="captcha-input">
|
<div id="result"></div>
|
||||||
<label for="captcha">Captcha</label>
|
|
||||||
<div class="captcha-container">
|
|
||||||
<input type="text" id="captcha" name="captcha" required>
|
|
||||||
<img src="<?php echo $builder->inline(); ?>" id="captchaImage" style="margin-left:10px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<button type="submit" class="button-primary">Check Whois</button>
|
|
||||||
</form>
|
|
||||||
<div id="result" class="mt-4"></div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
|
document.getElementById('whoisButton').addEventListener('click', function() {
|
||||||
|
var domain = document.getElementById('domainInput').value;
|
||||||
|
var captcha = document.getElementById('captchaInput').value;
|
||||||
|
|
||||||
|
fetch('whois.php', {
|
||||||
|
method: 'POST',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/x-www-form-urlencoded',
|
||||||
|
},
|
||||||
|
body: 'domain=' + encodeURIComponent(domain) + '&captcha=' + encodeURIComponent(captcha)
|
||||||
|
})
|
||||||
|
.then(response => response.text())
|
||||||
|
.then(data => {
|
||||||
|
document.getElementById('result').innerText = data;
|
||||||
|
// Reload captcha after a successful response
|
||||||
|
document.getElementById('captchaImg').src = 'captcha.php?' + Math.random();
|
||||||
|
})
|
||||||
|
.catch(error => console.error('Error:', error));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
|
@ -1,31 +0,0 @@
|
||||||
document.addEventListener("DOMContentLoaded", function() {
|
|
||||||
document.getElementById("whoisForm").addEventListener("submit", function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
|
|
||||||
var xhr = new XMLHttpRequest();
|
|
||||||
var formData = new FormData(this);
|
|
||||||
|
|
||||||
xhr.open("POST", "checkWhois.php", true);
|
|
||||||
xhr.onreadystatechange = function() {
|
|
||||||
if (xhr.readyState === 4) {
|
|
||||||
var resultDiv = document.getElementById("result");
|
|
||||||
if (xhr.status === 200) {
|
|
||||||
var data = JSON.parse(xhr.responseText);
|
|
||||||
if (data.error) {
|
|
||||||
resultDiv.innerHTML = '<div class="alert alert-danger">' + data.error + '</div>';
|
|
||||||
} else {
|
|
||||||
resultDiv.innerHTML = '<div class="alert alert-success">' + data.result + '</div>';
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
resultDiv.innerHTML = '<div class="alert alert-danger">An error occurred. Please try again.</div>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
xhr.onloadstart = function() {
|
|
||||||
document.getElementById("result").innerHTML = '<div class="loading">Loading...</div>';
|
|
||||||
};
|
|
||||||
|
|
||||||
xhr.send(formData);
|
|
||||||
});
|
|
||||||
});
|
|
33
whois/web/whois.php
Normal file
33
whois/web/whois.php
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
<?php
|
||||||
|
session_start();
|
||||||
|
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
|
||||||
|
echo json_encode(['error' => 'Invalid request method.']);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($_POST['captcha'] !== $_SESSION['captcha']) {
|
||||||
|
die('Captcha verification failed');
|
||||||
|
}
|
||||||
|
|
||||||
|
$domain = $_POST['domain'];
|
||||||
|
$whoisServer = 'ENTER_WHOIS_IP_HERE';
|
||||||
|
|
||||||
|
$output = '';
|
||||||
|
$socket = fsockopen($whoisServer, 43, $errno, $errstr, 30);
|
||||||
|
|
||||||
|
if (!$socket) {
|
||||||
|
echo json_encode(['error' => "Error connecting to the Whois server."]);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
fwrite($socket, $domain . "\r\n");
|
||||||
|
while (!feof($socket)) {
|
||||||
|
$output .= fgets($socket);
|
||||||
|
}
|
||||||
|
fclose($socket);
|
||||||
|
|
||||||
|
// Invalidate the current captcha
|
||||||
|
unset($_SESSION['captcha']);
|
||||||
|
|
||||||
|
echo $output;
|
Loading…
Add table
Add a link
Reference in a new issue