landing page done

This commit is contained in:
Florian Herrengt 2024-05-17 17:33:16 +01:00
parent f3b1fb7324
commit 6a0b44d3f4
39 changed files with 5510 additions and 4 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -1,2 +1,3 @@
node_modules
ip_ranges
ip_ranges
**/dist

3
.gitignore vendored
View File

@ -1,2 +1,3 @@
node_modules
ip_ranges
ip_ranges
**/dist

1772
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -11,11 +11,16 @@
"author": "",
"license": "ISC",
"dependencies": {
"@fastify/cors": "^9.0.1",
"@fastify/helmet": "^11.1.1",
"@fastify/rate-limit": "^9.1.0",
"@fastify/static": "^7.0.4",
"axios": "^1.6.8",
"csv": "^6.3.9",
"csv-parser": "^3.0.0",
"csv-writer": "^1.6.0",
"fastify": "^4.27.0",
"gulp": "^5.0.0",
"ip": "^2.0.1",
"ip-address": "^9.0.5",
"lodash": "^4.17.21",

View File

@ -2,11 +2,21 @@ import Fastify from "fastify";
import helmet from "@fastify/helmet";
import rateLimit from "@fastify/rate-limit";
import cors from "@fastify/cors";
import fastifyStatic from "@fastify/static";
import path from "path";
import { fileURLToPath } from "url";
import { checkIp } from "./checkIp.js";
const fastify = Fastify();
await fastify.register(helmet);
const __dirname = path.dirname(fileURLToPath(import.meta.url));
await fastify.register(fastifyStatic, {
root: path.join(__dirname, "./web/landing/dist"),
});
await fastify.register(helmet, {
contentSecurityPolicy: false,
noSniff: false,
});
await fastify.register(rateLimit, {
max: (request) => (request.headers["x-api-key"] ? 100 : 1),

BIN
web/.DS_Store vendored Normal file

Binary file not shown.

BIN
web/landing/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 428 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -0,0 +1 @@
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}

Binary file not shown.

After

Width:  |  Height:  |  Size: 364 KiB

BIN
web/landing/assets/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

BIN
web/landing/blog/.DS_Store vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,154 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Blog</title>
@@include('../meta.html') @@include('../link_deps.html')
</head>
<body class="bg-base-200 flex flex-col items-center min-h-screen">
@@include('../nav.html')
<div class="flex-grow w-full max-w-4xl px-4 py-10">
<h1 class="text-5xl font-bold mb-6 text-base-content">
Why Do Data Center IPs Matter?
</h1>
<img class="mb-6" src="/assets/bot-detection.webp" />
<p class="mb-6 object-cover text-base-content">
Data center IPs are essential components of the internet's
infrastructure. For software engineers, understanding the significance
of these IPs is crucial for enhancing cybersecurity, improving website
performance, and preventing malicious activities. This article explores
the importance of data center IPs, their impact on cybersecurity, and
the benefits of monitoring and managing them effectively.
</p>
<h2 class="text-3xl font-bold mb-4 text-base-content">
What Are Data Center IPs?
</h2>
<p class="mb-6 text-base-content">
Data center IPs are IP addresses assigned to servers within data
centers. These servers host websites, store data, and run various
applications. Managing and monitoring these IP addresses is essential
for maintaining the integrity and security of online services.
</p>
<h2 class="text-3xl font-bold mb-4 text-base-content">
The Importance of Bot Detection
</h2>
<p class="mb-6 text-base-content">
Bots can be beneficial, like search engine crawlers, or harmful, like
those used for DDoS attacks and data scraping. Detecting and managing
data center IPs is vital for identifying malicious bots and preventing
them from causing harm.
</p>
<h2 class="text-3xl font-bold mb-4 text-base-content">
Impact on Cybersecurity
</h2>
<ul class="list-disc list-inside mb-6 text-base-content">
<li class="mb-2">
<strong>Prevent Data Theft:</strong> Malicious bots often use data
center IPs to steal sensitive information. Monitoring these IPs helps
identify and block such threats.
</li>
<li class="mb-2">
<strong>Reduce Spam and Fraud:</strong> Bots can generate spam and
fraudulent activities. By tracking data center IPs, engineers can
reduce spam and protect their systems from fraud.
</li>
<li class="mb-2">
<strong>Improve Website Performance:</strong> Unchecked bots can
consume server resources, slowing down website performance. Effective
IP management ensures optimal performance by minimizing unwanted
traffic.
</li>
</ul>
<h2 class="text-3xl font-bold mb-4 text-base-content">
Benefits of Monitoring Data Center IPs
</h2>
<ul class="list-disc list-inside mb-6 text-base-content">
<li class="mb-2">
<strong>Enhanced Security:</strong> Regular monitoring of data center
IPs helps in early detection of potential threats, enhancing overall
security.
</li>
<li class="mb-2">
<strong>Accurate Traffic Analysis:</strong> Understanding the source
of your web traffic allows for better analysis and insights, helping
you distinguish between human users and automated bots.
</li>
<li class="mb-2">
<strong>Improved User Experience:</strong> By blocking malicious bots,
you can ensure a smoother and more secure user experience on your
website.
</li>
</ul>
<h2 class="text-3xl font-bold mb-4 text-base-content">
Practical Insights and Best Practices
</h2>
<ul class="list-disc list-inside mb-6 text-base-content">
<li class="mb-2">
<strong>Use IP Detection Tools:</strong> Implement tools and APIs that
provide real-time data on data center IPs. These tools can help in
quickly identifying and blocking malicious traffic.
</li>
<ul class="list-disc list-inside mb-6 text-base-content">
<li class="mb-2">
Example: Use services like MaxMind or IP2Location to get detailed
information about IP addresses.
</li>
</ul>
<li class="mb-2">
<strong>Regular Updates:</strong> Ensure that your IP detection
databases are regularly updated to include new and removed data center
IPs.
</li>
<ul class="list-disc list-inside mb-6 text-base-content">
<li class="mb-2">
Example: Automate updates to your IP list using cron jobs or
scheduled tasks.
</li>
</ul>
<li class="mb-2">
<strong>Rate Limiting:</strong> Apply rate limiting to control the
number of requests from a single IP address, preventing overload from
automated scripts.
</li>
<ul class="list-disc list-inside mb-6 text-base-content">
<li class="mb-2">
Example: Implement rate limiting in your web server configuration
(e.g., Nginx, Apache) or using middleware in your application (e.g.,
Express.js for Node.js).
</li>
</ul>
<li class="mb-2">
<strong>CAPTCHAs and User Verification:</strong> Use CAPTCHAs and
other verification methods to ensure that the requests are coming from
legitimate users.
</li>
<ul class="list-disc list-inside mb-6 text-base-content">
<li class="mb-2">
Example: Integrate Google's reCAPTCHA or hCaptcha to differentiate
between human and bot traffic.
</li>
</ul>
</ul>
<h2 class="text-3xl font-bold mb-4 text-base-content">Conclusion</h2>
<p class="mb-6 text-base-content">
Data center IPs are a critical aspect of internet infrastructure,
playing a significant role in cybersecurity and website performance. By
understanding their importance and implementing effective monitoring and
management strategies, software engineers can protect their systems from
malicious bots, improve traffic analysis, and enhance user experience.
Regularly updating IP databases, using detection tools, and employing
best practices like rate limiting and user verification are essential
steps in managing data center IPs effectively.
</p>
</div>
@@include('../price_card.html') @@include('../footer.html')
@@include('../script_deps.html')
</body>
</html>

View File

@ -0,0 +1,96 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Blog</title>
@@include('../meta.html') @@include('../link_deps.html')
</head>
<body class="bg-base-200 flex flex-col items-center min-h-screen">
@@include('../nav.html')
<div class="flex-grow w-full max-w-4xl px-4 py-10">
<h1 class="text-5xl font-bold mb-6 text-base-content">
Comparing Bots Detection Methods
</h1>
<img class="mb-6" src="/assets/compare.webp" />
<h2 class="text-3xl font-bold mb-4 text-base-content">Static IP Lists</h2>
<p class="mb-6 text-base-content">
Static IP lists are one of the simplest methods for detecting data
center IPs. They are easy to implement and cost-effective since they can
be maintained in-house. However, they require regular updates to stay
current, as data centers frequently change their IP addresses. This
method can quickly become outdated, leading to limited accuracy and
potential scalability issues as the list grows.
</p>
<h2 class="text-3xl font-bold mb-4 text-base-content">
Third-Party IP Databases
</h2>
<p class="mb-6 text-base-content">
Third-party IP databases offer comprehensive coverage and are usually
maintained and updated by the provider. This ensures a wider range of IP
addresses and more reliable updates than static lists. However, they can
be expensive, and you depend on the provider for accuracy and timely
updates. There may also be latency in reflecting recent changes in data
center IPs.
</p>
<h2 class="text-3xl font-bold mb-4 text-base-content">
Machine Learning Models
</h2>
<p class="mb-6 text-base-content">
Machine learning models are highly advanced and adaptable. They can
learn and respond to new patterns and data, offering high accuracy in
detecting data center IPs. However, these models require significant
expertise to develop and maintain, and they demand substantial
computational resources. Additionally, they can be costly to implement
and are best suited for situations requiring near-perfect detection.
</p>
<h2 class="text-3xl font-bold mb-4 text-base-content">
Real-Time IP Detection APIs (Your API)
</h2>
<p class="mb-6 text-base-content">
Our Real-Time IP Detection API provides a balanced approach, offering
real-time accuracy by reflecting immediate changes in data center IPs.
It is easy to integrate with existing systems through simple API calls
and scales well to handle large volumes of requests. This method reduces
the burden of maintaining IP lists or developing complex models and
ensures high accuracy with up-to-date information directly from the
source.
</p>
<h2 class="text-3xl font-bold mb-4 text-base-content">
Why Choose Our API?
</h2>
<p class="mb-6 text-base-content">
While advanced tools like machine learning and fingerprinting offer
superior accuracy, they come at a high cost and complexity. If your
primary goal is to prevent bots from sending requests to your servers or
stealing your content, our API offers more than enough functionality. It
is cost-effective, highly accurate for practical purposes, and easy to
use, providing real-time updates without the need for complex and
expensive solutions.
</p>
<h2 class="text-3xl font-bold mb-4 text-base-content">Conclusion</h2>
<p class="mb-6 text-base-content">
Selecting the right method for detecting data center IPs depends on your
specific needs and budget. Static IP lists and third-party databases are
straightforward but struggle with accuracy and maintenance. Machine
learning models provide high precision but are resource-intensive and
costly.
</p>
<p class="mb-6 text-base-content">
Our API offers a practical and cost-effective solution, combining
real-time accuracy, ease of integration, and scalability. For businesses
focused on stopping automated content theft and bot traffic, our API
provides the necessary features without the high costs and complexities
of more advanced methods.
</p>
</div>
@@include('../price_card.html') @@include('../footer.html')
@@include('../script_deps.html')
</body>
</html>

View File

@ -0,0 +1,115 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Blog</title>
@@include('../meta.html') @@include('../link_deps.html')
</head>
<body class="bg-base-200 flex flex-col items-center min-h-screen">
@@include('../nav.html')
<div class="flex-grow w-full max-w-4xl px-4 py-10">
<h1 class="text-5xl font-bold mb-6 text-base-content">
The Importance of Regular Data Updates IP Detection
</h1>
<img class="mb-6" src="/assets/daily-update.webp" />
<p class="mb-6 text-base-content">
Data centers constantly evolve, adding and removing servers frequently.
This dynamic environment means that the IP addresses associated with
data centers change regularly. Keeping your IP detection data up-to-date
is crucial for accurate identification and response.
</p>
<h2 class="text-3xl font-bold mb-4 text-base-content">
How Data Center Changes Impact IP Detection
</h2>
<ul class="list-disc list-inside mb-6 text-base-content">
<li class="mb-2">
<strong>New Servers:</strong> As data centers add new servers, they
acquire new IP addresses. If your IP detection data is outdated, you
might miss identifying these new addresses.
</li>
<li class="mb-2">
<strong>Removed Servers:</strong> Data centers also decommission
servers, making previously active IP addresses inactive. Outdated data
might still flag these IPs, leading to inaccuracies.
</li>
<li class="mb-2">
<strong>Reassigned IPs:</strong> IP addresses can be repurposed and
reassigned to different servers or even different data centers.
Without regular updates, your detection system might misidentify the
current status of an IP.
</li>
</ul>
<h2 class="text-3xl font-bold mb-4 text-base-content">
Benefits of Accurate IP Detection
</h2>
<ul class="list-disc list-inside mb-6 text-base-content">
<li class="mb-2">
<strong>Enhanced Security:</strong> Accurate detection helps in
identifying and blocking threats from data centers effectively.
</li>
<li class="mb-2">
<strong>Reduced False Positives:</strong> Keeping data current ensures
legitimate users arent wrongly flagged due to outdated information.
</li>
<li class="mb-2">
<strong>Optimized Performance:</strong> Up-to-date data helps in
making informed decisions, improving the overall performance of your
security measures.
</li>
</ul>
<h2 class="text-3xl font-bold mb-4 text-base-content">
Implementing Regular Data Updates
</h2>
<ul class="list-disc list-inside mb-6 text-base-content">
<li class="mb-2">
<strong>Automated Updates:</strong> Set up automated processes to
regularly update your IP detection database.
</li>
<li class="mb-2">
<strong>Reliable Data Sources:</strong> Partner with IP data providers
who frequently update their records to reflect changes in data
centers.
</li>
<li class="mb-2">
<strong>Continuous Monitoring:</strong> Regularly monitor your IP
detection systems accuracy and adjust your update frequency as
needed.
</li>
</ul>
<h2 class="text-3xl font-bold mb-4 text-base-content">Use Cases</h2>
<ul class="list-disc list-inside mb-6 text-base-content">
<li class="mb-2">
<strong>E-commerce:</strong> Protect against fraudulent activities by
accurately tracking new and removed data center IPs.
</li>
<li class="mb-2">
<strong>Financial Services:</strong> Enhance security measures by
identifying newly added IPs from data centers potentially used for
malicious purposes.
</li>
<li class="mb-2">
<strong>Content Platforms:</strong> Prevent content scraping by
keeping up-to-date with changes in data center IP allocations.
</li>
</ul>
<h2 class="text-3xl font-bold mb-4 text-base-content">Conclusion</h2>
<p class="mb-6 text-base-content">
The dynamic nature of data centers, with their constant addition and
removal of servers, makes regular data updates essential for accurate IP
detection. By implementing automated updates, partnering with reliable
data sources, and continuously monitoring your system, you can maintain
the accuracy of your IP detection, enhance security, and reduce false
positives. Stay ahead of potential threats by ensuring your IP data
reflects the latest changes in data center infrastructure.
</p>
</div>
@@include('../price_card.html') @@include('../footer.html')
@@include('../script_deps.html')
</body>
</html>

View File

@ -0,0 +1,187 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Blog</title>
@@include('../meta.html') @@include('../link_deps.html')
</head>
<body class="bg-base-200 flex flex-col items-center min-h-screen">
@@include('../nav.html')
<div class="flex-grow w-full max-w-4xl px-4 py-10">
<h1 class="text-5xl font-bold mb-6 text-base-content">
How to Integrate the API Data Center Check with Your Application
</h1>
<img class="mb-6" src="/assets/how-to-integrate.webp" />
<p class="mb-6 text-base-content">
You can integrate the API Data Center Check with your application by
making an API call to
<code>https://ipdatacentercheck.com/api/ip/:ip</code> authorized by
<code>x-api-key</code>. Below are examples in different programming
languages. The response will include the name of the data center, such
as <code>{datacenter: 'AWS'}</code>, if the IP is from a data center, or
<code>{datacenter: null}</code> if it is not.
</p>
<div class="tabs">
<a class="tab tab-lifted tab-active" id="javascript-tab"
>JavaScript (Node.js)</a
>
<a class="tab tab-lifted" id="python-tab">Python</a>
<a class="tab tab-lifted" id="ruby-tab">Ruby</a>
<a class="tab tab-lifted" id="php-tab">PHP</a>
<a class="tab tab-lifted" id="java-tab">Java</a>
</div>
<div id="javascript" class="tab-content">
<pre class="bg-gray-800 text-gray-200 p-4 rounded-lg overflow-auto">
<code>
const axios = require('axios');
const apiKey = 'your-api-key';
const ip = '8.8.8.8'; // Example IP
axios.get(`https://ipdatacentercheck.com/api/ip/${ip}`, {
headers: {
'x-api-key': apiKey
}
})
.then(response => {
console.log(response.data); // {datacenter: 'AWS'} or {datacenter: null}
})
.catch(error => {
console.error(error);
});
</code>
</pre>
</div>
<div id="python" class="tab-content hidden">
<pre class="bg-gray-800 text-gray-200 p-4 rounded-lg overflow-auto">
<code>
import requests
api_key = 'your-api-key'
ip = '8.8.8.8' // Example IP
url = f'https://ipdatacentercheck.com/api/ip/{ip}'
headers = {'x-api-key': api_key}
response = requests.get(url, headers=headers)
print(response.json()) // {'datacenter': 'AWS'} or {'datacenter': null}
</code>
</pre>
</div>
<div id="ruby" class="tab-content hidden">
<pre class="bg-gray-800 text-gray-200 p-4 rounded-lg overflow-auto">
<code>
require 'net/http'
require 'uri'
require 'json'
api_key = 'your-api-key'
ip = '8.8.8.8' # Example IP
uri = URI.parse("https://ipdatacentercheck.com/api/ip/#{ip}")
request = Net::HTTP::Get.new(uri)
request["x-api-key"] = api_key
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts JSON.parse(response.body) # {'datacenter': 'AWS'} or {'datacenter': null}
</code>
</pre>
</div>
<div id="php" class="tab-content hidden">
<pre class="bg-gray-800 text-gray-200 p-4 rounded-lg overflow-auto">
<code>
<?php
$api_key = 'your-api-key';
$ip = '8.8.8.8'; // Example IP
$url = "https://ipdatacentercheck.com/api/ip/$ip";
$options = [
"http" => [
"header" => "x-api-key: $api_key"
]
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$data = json_decode($response, true);
print_r($data); // ['datacenter' => 'AWS'] or ['datacenter' => null]
?>
</code>
</pre>
</div>
<div id="java" class="tab-content hidden">
<pre class="bg-gray-800 text-gray-200 p-4 rounded-lg overflow-auto">
<code>
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class Main {
public static void main(String[] args) {
try {
String apiKey = "your-api-key";
String ip = "8.8.8.8"; // Example IP
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("x-api-key", apiKey);
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString()); // {'datacenter': 'AWS'} or {'datacenter': null}
} catch (Exception e) {
e.printStackTrace();
}
}
}
</code>
</pre>
</div>
</div>
@@include('../price_card.html') @@include('../footer.html')
@@include('../script_deps.html')
<script>
document.addEventListener("DOMContentLoaded", function () {
function showTab(language) {
const tabs = document.querySelectorAll(".tab-content");
tabs.forEach((tab) => tab.classList.add("hidden"));
document.getElementById(language).classList.remove("hidden");
const tabLinks = document.querySelectorAll(".tab");
tabLinks.forEach((link) => {
link.classList.remove("tab-active");
});
document
.getElementById(`${language}-tab`)
.classList.add("tab-active");
}
const tabLinks = document.querySelectorAll(".tab");
tabLinks.forEach((link) => {
link.addEventListener("click", function () {
showTab(link.id.replace("-tab", ""));
});
});
});
</script>
</body>
</html>

View File

@ -0,0 +1,94 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Blog</title>
@@include('../meta.html') @@include('../link_deps.html')
</head>
<body class="bg-base-200 flex flex-col items-center min-h-screen">
@@include('../nav.html')
<div class="max-w-md">
<h2 class="text-2xl font-bold mt-4 mb-2 text-base-content">Blog Posts</h2>
<div class="mt-4">
<a href="/blog/bot-detection.html" class="text-primary text-white">
<div class="flex items-start space-x-4">
<img
src="/assets/bot-detection.webp"
alt="Blog Post 1 Image"
class="w-32 h-32 object-cover rounded-lg"
/>
<div>
<h3 class="text-xl font-bold text-white">
Why Do Data Center IPs Matter?
</h3>
<p class="text-white">
Learn the importance of data center IPs, their impact on
cybersecurity, and how to manage them effectively.
</p>
</div>
</div>
</a>
</div>
<div class="mt-4">
<a href="/blog/compare.html" class="text-primary text-white">
<div class="flex items-start space-x-4">
<img
src="/assets/compare.webp"
alt="Blog Post 1 Image"
class="w-32 h-32 object-cover rounded-lg"
/>
<div>
<h3 class="text-xl font-bold text-white">
Comparing Bots Detection Methods
</h3>
<p class="text-white">
Explore cutting-edge bot detection methods and discover how our
Real-Time IP Detection API.
</p>
</div>
</div>
</a>
</div>
<div class="mt-4">
<a href="/blog/daily-update.html" class="text-primary text-white">
<div class="flex items-start space-x-4">
<img
src="/assets/daily-update.webp"
alt="Blog Post 1 Image"
class="w-32 h-32 object-cover rounded-lg"
/>
<div>
<h3 class="text-xl font-bold text-white">
The Importance of Regular Data Updates IP Detection
</h3>
<p class="text-white">
Discover why keeping your IP detection data current is vital for
security and efficiency.
</p>
</div>
</div>
</a>
</div>
<div class="mt-4">
<a href="/blog/how-to-integrate.html" class="text-primary text-white">
<div class="flex items-start space-x-4">
<img
src="/assets/how-to-integrate.webp"
alt="Blog Post 1 Image"
class="w-32 h-32 object-cover rounded-lg"
/>
<div>
<h3 class="text-xl font-bold text-white">How to use our API</h3>
<p class="text-white">
Effortlessly integrate API into your application to identify
data center origins of IP addresses.
</p>
</div>
</div>
</a>
</div>
</div>
<div class="mt-4 w-full">@@include('../price_card.html')</div>
@@include('../footer.html') @@include('../script_deps.html')
</body>
</html>

View File

@ -0,0 +1,190 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>How to Know If a Request Is Coming from a Server</title>
<link
href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css"
rel="stylesheet"
/>
<link
href="https://cdn.jsdelivr.net/npm/daisyui@1.14.0/dist/full.css"
rel="stylesheet"
/>
</head>
<body
class="bg-base-200 flex flex-col items-center min-h-screen"
data-theme="light"
>
<nav class="w-full bg-base-100 shadow-lg py-4">
<div class="container mx-auto flex justify-between items-center px-4">
<a href="#" class="text-xl font-bold text-base-content"
>API Data Center</a
>
<div>
<a href="#" class="btn btn-ghost text-base-content">Home</a>
<a href="#" class="btn btn-ghost text-base-content">Blog</a>
<a href="#" class="btn btn-primary ml-2">Sign Up</a>
</div>
</div>
</nav>
<div class="flex-grow w-full max-w-4xl px-4 py-10">
<h1 class="text-5xl font-bold mb-6 text-base-content">
How to Know If a Request Is Coming from a Server
</h1>
<h2 class="text-3xl font-bold mb-4 text-base-content">Introduction</h2>
<p class="mb-6 text-base-content">
Understanding whether a request comes from a server or a typical user is
essential for managing web traffic and enhancing your site's security.
Server requests, often originating from data centers or automated
scripts, can impact your website's performance and may include
activities like content scraping or automated attacks. This article
explores various methods to detect server requests and offers practical
tips for effective implementation.
</p>
<h2 class="text-3xl font-bold mb-4 text-base-content">
IP Address Analysis
</h2>
<p class="mb-6 text-base-content">
One of the most straightforward methods to identify server requests is
through IP address analysis. Data centers typically have known IP
ranges, which can be tracked using up-to-date IP databases.
</p>
<ul class="list-disc list-inside mb-6 text-base-content">
<li class="mb-2">
<strong>How It Works:</strong> By checking if the IP address of a
request belongs to a known data center, you can determine its origin.
</li>
<li class="mb-2">
<strong>Practical Tip:</strong> Use a reliable IP database that is
regularly updated to ensure accuracy. Integrating an IP lookup API can
streamline this process and provide real-time data.
</li>
</ul>
<h2 class="text-3xl font-bold mb-4 text-base-content">
User-Agent String Examination
</h2>
<p class="mb-6 text-base-content">
Another method is to examine the User-Agent string in the HTTP request
header. The User-Agent string provides information about the client
making the request, including the browser and operating system.
</p>
<ul class="list-disc list-inside mb-6 text-base-content">
<li class="mb-2">
<strong>How It Works:</strong> Server requests often use generic or
default User-Agent strings, making them easier to spot.
</li>
<li class="mb-2">
<strong>Practical Tip:</strong> Implement logic to check for
suspicious User-Agent strings that do not match typical user patterns.
However, be aware that sophisticated bots can spoof User-Agent
strings, so this method should be used in conjunction with others.
</li>
</ul>
<h2 class="text-3xl font-bold mb-4 text-base-content">
Behavioural Analysis
</h2>
<p class="mb-6 text-base-content">
Behavioural analysis involves monitoring the patterns and behaviours of
requests. Automated server requests often show distinct behaviours that
differ from human users.
</p>
<ul class="list-disc list-inside mb-6 text-base-content">
<li class="mb-2">
<strong>How It Works:</strong> Look for high request rates, access at
unusual times, or repetitive actions that are indicative of automated
scripts.
</li>
<li class="mb-2">
<strong>Practical Tip:</strong> Set up analytics to track request
patterns and flag anomalies. Use machine learning models if resources
allow, as they can adapt to detect new and evolving patterns over
time.
</li>
</ul>
<h2 class="text-3xl font-bold mb-4 text-base-content">
Real-Time Detection APIs
</h2>
<p class="mb-6 text-base-content">
Using real-time detection APIs can provide a robust solution for
identifying server requests. These APIs leverage multiple detection
methods, including IP analysis, User-Agent examination, and behavioural
patterns.
</p>
<ul class="list-disc list-inside mb-6 text-base-content">
<li class="mb-2">
<strong>How It Works:</strong> Real-time detection APIs analyze
various factors in real-time to determine the origin of a request.
</li>
<li class="mb-2">
<strong>Practical Tip:</strong> Choose an API that offers
comprehensive coverage and regular updates. This can significantly
reduce the burden of maintaining your detection systems and ensure
high accuracy.
</li>
</ul>
<h2 class="text-3xl font-bold mb-4 text-base-content">
Best Practices for Implementation
</h2>
<p class="mb-6 text-base-content">
Combining various detection methods and following best practices can
enhance the accuracy and effectiveness of identifying server requests.
</p>
<ul class="list-disc list-inside mb-6 text-base-content">
<li class="mb-2">
<strong>Integrate Multiple Methods:</strong> Use a combination of IP
analysis, User-Agent checks, and behavioural analysis for a more
reliable detection system.
</li>
<li class="mb-2">
<strong>Regular Updates:</strong> Ensure your IP databases and
detection rules are regularly updated to reflect the latest data
center IP ranges and bot behaviours.
</li>
<li class="mb-2">
<strong>Rate Limiting:</strong> Implement rate limiting to control the
number of requests from a single IP address within a specific
timeframe. This can help mitigate the impact of automated server
requests.
</li>
<li class="mb-2">
<strong>CAPTCHA Implementation:</strong> Use CAPTCHA challenges to
verify if the request is from a human user, especially when suspicious
activity is detected.
</li>
<li class="mb-2">
<strong>Continuous Monitoring:</strong> Set up continuous monitoring
of your web traffic to quickly identify and respond to unusual
patterns.
</li>
</ul>
<h2 class="text-3xl font-bold mb-4 text-base-content">Conclusion</h2>
<p class="mb-6 text-base-content">
Effectively detecting whether a request comes from a server is crucial
for maintaining your website's performance and security. By utilizing
methods like IP address analysis, User-Agent string examination,
behavioural analysis, and real-time detection APIs, you can accurately
identify and manage server requests. Implementing these strategies and
best practices will help protect your site from unwanted automated
traffic and provide a better experience for your legitimate users.
</p>
</div>
<footer class="bg-base-100 w-full py-4">
<div class="container mx-auto text-center">
<a href="privacy.html" class="text-base-content">Privacy Policy</a>
<span class="mx-2">|</span>
<a href="terms.html" class="text-base-content">Terms of Service</a>
</div>
</footer>
<script src="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/daisyui@1.14.0/dist/full.js"></script>
</body>
</html>

7
web/landing/footer.html Normal file
View File

@ -0,0 +1,7 @@
<footer class="bg-base-100 w-full py-4 mt-10">
<div class="container mx-auto text-center">
<a href="/privacy.html" class="text-base-content">Privacy Policy</a>
<span class="mx-2">|</span>
<a href="/terms.html" class="text-base-content">Terms of Service</a>
</div>
</footer>

22
web/landing/gulpfile.js Normal file
View File

@ -0,0 +1,22 @@
const gulp = require("gulp");
const fileInclude = require("gulp-file-include");
gulp.task("html", function () {
return gulp
.src(["**/*.html"])
.pipe(
fileInclude({
prefix: "@@",
basepath: "@file",
})
)
.pipe(gulp.dest("dist"));
});
gulp.task("copy-assets", function () {
return gulp
.src("assets/**/*", { encoding: false })
.pipe(gulp.dest("dist/assets"));
});
gulp.task("default", gulp.series("html", "copy-assets"));

253
web/landing/index.html Normal file
View File

@ -0,0 +1,253 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Check API Data Center</title>
@@include('meta.html') @@include('link_deps.html')
</head>
<body class="bg-base-200 flex flex-col items-center min-h-screen">
@@include('nav.html')
<div class="flex-grow flex flex-col items-center justify-center">
<div class="py-10">
<div class="text-center">
<h1 class="text-5xl font-bold mb-5 text-base-content">
Check IP Data Center
</h1>
<p class="text-lg mb-8 text-base-content">
Detect and block requests from known data centers to prevent
malicious activities.
</p>
<div class="flex justify-center mb-6">
<input
id="ip-to-check"
type="text"
placeholder="Enter API address"
class="input input-bordered input-primary w-full max-w-xs"
/>
<button id="check-btn" class="btn btn-primary ml-2">Check</button>
</div>
<div>
<p class="text-sm text-base-content mb-10">
Try it out by entering an API address above.
</p>
</div>
<div>
<p id="results" class="text-base-content mb-10"></p>
</div>
</div>
@@include('price_card.html')
<div
class="bg-base-100 shadow-lg rounded-lg p-6 mt-10 w-full max-w-md mx-auto"
>
<h2 class="text-2xl font-bold mb-4 text-base-content">
Why Use Our API?
</h2>
<ul class="space-y-4 text-base-content">
<li class="flex items-start">
<svg
class="w-6 h-6 text-primary flex-shrink-0 mr-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M5 13l4 4L19 7"
></path>
</svg>
<span
>Reliable and accurate detection of data center IP
addresses.</span
>
</li>
<li class="flex items-start">
<svg
class="w-6 h-6 text-primary flex-shrink-0 mr-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M5 13l4 4L19 7"
></path>
</svg>
<span
>High request rate limit to support your application's
needs.</span
>
</li>
<li class="flex items-start">
<svg
class="w-6 h-6 text-primary flex-shrink-0 mr-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M5 13l4 4L19 7"
></path>
</svg>
<span>Easy integration with your existing systems.</span>
</li>
<li class="flex items-start">
<svg
class="w-6 h-6 text-primary flex-shrink-0 mr-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M5 13l4 4L19 7"
></path>
</svg>
<span>Affordable pricing with no hidden fees.</span>
</li>
<li class="flex items-start">
<svg
class="w-6 h-6 text-primary flex-shrink-0 mr-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M5 13l4 4L19 7"
></path>
</svg>
<span
>Expert support to help you get the most out of our API.</span
>
</li>
<li class="flex items-start">
<svg
class="w-6 h-6 text-primary flex-shrink-0 mr-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M5 13l4 4L19 7"
></path>
</svg>
<span
>Regular updates and improvements based on user feedback.</span
>
</li>
</ul>
</div>
<div
class="bg-base-100 shadow-lg rounded-lg p-6 mt-10 w-full max-w-md mx-auto"
>
<h2 class="text-2xl font-bold mb-4 text-base-content">FAQ</h2>
<ul class="space-y-4 text-base-content">
<li>
<h3 class="font-semibold">
How do I integrate the API with my application?
</h3>
<p>
To integrate our API with your application, you need to include
the provided x-api-key in your request headers.
</p>
</li>
<li>
<h3 class="font-semibold">
How accurate is the data center detection?
</h3>
<p>
Our data center detection is highly accurate. We maintain an
extensive database of IP addresses from major data centers. You
can view the full list here.
</p>
</li>
<li>
<h3 class="font-semibold">
What happens if I exceed my request limit?
</h3>
<p>
If you exceed your request limit, your requests will be
rejected. We provide response headers x-ratelimit-limit,
x-ratelimit-remaining, and x-ratelimit-reset to help you manage
your usage.
</p>
</li>
<li>
<h3 class="font-semibold">Is there a free trial available?</h3>
<p>
Yes, we offer a free trial that allows you to make 1 request per
second.
</p>
</li>
<li>
<h3 class="font-semibold">What kind of support is included?</h3>
<p>
Once you create an account, you can access our support team
directly through the chat feature in your dashboard.
</p>
</li>
<li>
<h3 class="font-semibold">How often is the data updated?</h3>
<p>
Our data is updated daily to ensure accuracy and reliability.
</p>
</li>
<li>
<h3 class="font-semibold">
Can I get a custom plan for higher request rates?
</h3>
<p>
Yes, we offer custom plans for higher request rates. Please
contact us to discuss your specific needs and we will tailor a
solution for you.
</p>
</li>
</ul>
</div>
</div>
</div>
@@include('footer.html') @@include('script_deps.html')
<script>
const resultsEl = document.getElementById("results");
document.getElementById("check-btn").addEventListener("click", () => {
const ip = document.getElementById("ip-to-check").value;
fetch(`/api/ip/${ip}`)
.then((response) => {
if (response.ok) {
return response.json();
}
response
.json()
.then(({ message }) => (resultsEl.innerHTML = message));
})
.then(({ datacenter }) => {
if (datacenter) {
resultsEl.innerHTML = `🤖 This IP is from ${datacenter}`;
} else {
resultsEl.innerHTML = `🧑‍💻 This IP is not from a datacenter`;
}
})
.catch((error) => console.log(error));
});
</script>
</body>
</html>

View File

@ -0,0 +1,8 @@
<link
href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css"
rel="stylesheet"
/>
<link
href="https://cdn.jsdelivr.net/npm/daisyui@1.14.0/dist/full.css"
rel="stylesheet"
/>

33
web/landing/meta.html Normal file
View File

@ -0,0 +1,33 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="apple-touch-icon"
sizes="180x180"
href="/assets/favicon/apple-touch-icon.png"
/>
<link
rel="icon"
type="image/png"
sizes="32x32"
href="/assets/favicon/favicon-32x32.png"
/>
<link
rel="icon"
type="image/png"
sizes="16x16"
href="/assets/favicon/favicon-16x16.png"
/>
<link
rel="icon"
type="image/png"
sizes="192x192"
href="/assets/favicon/android-chrome-192x192.png"
/>
<link
rel="icon"
type="image/png"
sizes="512x512"
href="/assets/favicon/android-chrome-512x512.png"
/>
<link rel="shortcut icon" href="/assets/favicon/favicon.ico" />
<meta name="theme-color" content="#ffffff" />

16
web/landing/nav.html Normal file
View File

@ -0,0 +1,16 @@
<nav class="w-full bg-base-100 shadow-lg py-4">
<div class="container mx-auto flex justify-between items-center px-4">
<a
href="/index.html"
class="flex items-center text-xl font-bold text-base-content"
>
<img src="/assets/logo.png" alt="Logo" class="mr-2 h-6" />
<!-- Logo added here -->
Ip Data Center Check
</a>
<div>
<a href="/blog" class="btn btn-ghost text-base-content">Blog</a>
<a href="/signup" class="btn btn-primary ml-2">Sign Up</a>
</div>
</div>
</nav>

2126
web/landing/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

17
web/landing/package.json Normal file
View File

@ -0,0 +1,17 @@
{
"name": "landing",
"version": "1.0.0",
"description": "",
"main": "gulpfile.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"gulp": "^5.0.0",
"gulp-file-include": "^2.3.0",
"http-server": "^14.1.1"
}
}

View File

@ -0,0 +1,61 @@
<div class="bg-base-100 shadow-lg rounded-lg p-6 w-full max-w-md mx-auto">
<div class="text-center mb-4">
<p class="text-6xl font-extrabold my-2">
$20<span class="text-2xl">/month</span>
</p>
</div>
<ul class="text-left mb-6 text-base-content space-y-2">
<li class="flex items-center">
<svg
class="w-5 h-5 text-primary flex-shrink-0 mr-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M5 13l4 4L19 7"
></path>
</svg>
100 requests/second
</li>
<li class="flex items-center">
<svg
class="w-5 h-5 text-primary flex-shrink-0 mr-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M5 13l4 4L19 7"
></path>
</svg>
Unlimited IP checks
</li>
<li class="flex items-center">
<svg
class="w-5 h-5 text-primary flex-shrink-0 mr-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M5 13l4 4L19 7"
></path>
</svg>
Email support
</li>
</ul>
<button class="btn btn-primary w-full">Get Started</button>
</div>

163
web/landing/privacy.html Normal file
View File

@ -0,0 +1,163 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Privacy Policy</title>
@@include('meta.html') @@include('link_deps.html')
</head>
<body class="bg-base-200 flex flex-col items-center min-h-screen">
@@include('nav.html')
<div
class="flex-grow flex flex-col items-center justify-center w-full max-w-4xl px-4 py-10"
>
<h1 class="text-5xl font-bold mb-10 text-base-content">Privacy Policy</h1>
<div
class="bg-base-100 shadow-lg rounded-lg p-6 w-full text-base-content"
>
<p class="mb-4">
Your privacy is important to us. It is API Data Center's policy to
respect your privacy regarding any information we may collect from you
across our website,
<a href="#" class="text-primary">https://www.yourwebsite.com</a>, and
other sites we own and operate.
</p>
<h2 class="text-2xl font-bold mb-4">1. Information We Collect</h2>
<p class="mb-4">
We only collect information about you if we have a reason to do so
for example, to provide our services, to communicate with you, or to
make our services better.
</p>
<p class="mb-4">
We collect information in three ways: if and when you provide
information to us, automatically through operating our services, and
from outside sources. Here is the information we collect:
</p>
<ul class="list-disc list-inside mb-4">
<li>Log data</li>
<li>Device information</li>
<li>IP address</li>
<li>Cookies and other tracking technologies</li>
</ul>
<h2 class="text-2xl font-bold mb-4">2. How We Use Information</h2>
<p class="mb-4">
We use the information we collect in various ways, including to:
</p>
<ul class="list-disc list-inside mb-4">
<li>Provide, operate, and maintain our website</li>
<li>Improve, personalize, and expand our website</li>
<li>Understand and analyze how you use our website</li>
<li>Develop new products, services, features, and functionality</li>
<li>
Communicate with you, either directly or through one of our
partners, including for customer service, to provide you with
updates and other information relating to the website, and for
marketing and promotional purposes
</li>
<li>Process your transactions and manage your orders</li>
<li>Find and prevent fraud</li>
</ul>
<h2 class="text-2xl font-bold mb-4">3. Sharing Information</h2>
<p class="mb-4">
We do not share your personal information with anyone except to comply
with the law, develop our products, or protect our rights.
</p>
<p class="mb-4">
We may share information about you in the following ways:
</p>
<ul class="list-disc list-inside mb-4">
<li>
With third-party vendors, consultants, and other service providers
who need access to such information to carry out work on our behalf
</li>
<li>
To comply with laws or to respond to lawful requests and legal
process
</li>
<li>
To protect the rights and property of API Data Center, our agents,
customers, and others, including to enforce our agreements,
policies, and terms of use
</li>
<li>
In an emergency to protect the personal safety of API Data Center,
its customers, or any person
</li>
<li>With your consent</li>
</ul>
<h2 class="text-2xl font-bold mb-4">4. Data Retention</h2>
<p class="mb-4">
We will retain your information only for as long as is necessary for
the purposes set out in this policy. We will retain and use your
information to the extent necessary to comply with our legal
obligations, resolve disputes, and enforce our policies.
</p>
<h2 class="text-2xl font-bold mb-4">5. Security</h2>
<p class="mb-4">
The security of your information is important to us. We use
commercially acceptable means to protect your personal information,
but remember that no method of transmission over the Internet, or
method of electronic storage is 100% secure and reliable, and we
cannot guarantee its absolute security.
</p>
<h2 class="text-2xl font-bold mb-4">6. Your Data Protection Rights</h2>
<p class="mb-4">
Depending on your location, you may have the following rights
regarding your personal data:
</p>
<ul class="list-disc list-inside mb-4">
<li>
The right to access You have the right to request copies of your
personal data.
</li>
<li>
The right to rectification You have the right to request that we
correct any information you believe is inaccurate or complete
information you believe is incomplete.
</li>
<li>
The right to erasure You have the right to request that we erase
your personal data, under certain conditions.
</li>
<li>
The right to restrict processing You have the right to request
that we restrict the processing of your personal data, under certain
conditions.
</li>
<li>
The right to object to processing You have the right to object to
our processing of your personal data, under certain conditions.
</li>
<li>
The right to data portability You have the right to request that
we transfer the data that we have collected to another organization,
or directly to you, under certain conditions.
</li>
</ul>
<h2 class="text-2xl font-bold mb-4">
7. Changes to This Privacy Policy
</h2>
<p class="mb-4">
We may update our Privacy Policy from time to time. We will notify you
of any changes by posting the new Privacy Policy on this page. You are
advised to review this Privacy Policy periodically for any changes.
Changes to this Privacy Policy are effective when they are posted on
this page.
</p>
<h2 class="text-2xl font-bold mb-4">8. Contact Us</h2>
<p class="mb-4">
If you have any questions about this Privacy Policy, please contact
us.
<a href="#" class="text-primary">contact us</a>
</p>
</div>
</div>
@@include('footer.html') @@include('script_deps.html')
</body>
</html>

View File

@ -0,0 +1 @@
<script src="https://cdn.tailwindcss.com"></script>

173
web/landing/terms.html Normal file
View File

@ -0,0 +1,173 @@
<!DOCTYPE html>
<html lang="en">
<head>
@@include('meta.html') @@include('link_deps.html')
<title>Terms and Conditions</title>
</head>
<body class="bg-base-200 flex flex-col items-center min-h-screen">
@@include('nav.html')
<div
class="flex-grow flex flex-col items-center justify-center w-full max-w-4xl px-4 py-10"
>
<h1 class="text-5xl font-bold mb-10 text-base-content">
Terms and Conditions
</h1>
<div
class="bg-base-100 shadow-lg rounded-lg p-6 w-full text-base-content"
>
<h2 class="text-2xl font-bold mb-4">1. Introduction</h2>
<p class="mb-4">
Welcome to API Data Center. These terms and conditions outline the
rules and regulations for the use of our website and services.
</p>
<p class="mb-4">
By accessing this website, we assume you accept these terms and
conditions. Do not continue to use API Data Center if you do not agree
to all of the terms and conditions stated on this page.
</p>
<h2 class="text-2xl font-bold mb-4">2. License</h2>
<p class="mb-4">
Unless otherwise stated, API Data Center and/or its licensors own the
intellectual property rights for all material on API Data Center. All
intellectual property rights are reserved. You may access this from
API Data Center for your own personal use subjected to restrictions
set in these terms and conditions.
</p>
<p class="mb-4">You must not:</p>
<ul class="list-disc list-inside mb-4">
<li>Republish material from API Data Center</li>
<li>Sell, rent, or sub-license material from API Data Center</li>
<li>Reproduce, duplicate, or copy material from API Data Center</li>
<li>Redistribute content from API Data Center</li>
</ul>
<h2 class="text-2xl font-bold mb-4">3. User Content</h2>
<p class="mb-4">
Parts of this website offer an opportunity for users to post and
exchange opinions and information in certain areas of the website. API
Data Center does not filter, edit, publish or review Comments prior to
their presence on the website. Comments do not reflect the views and
opinions of API Data Center, its agents and/or affiliates. Comments
reflect the views and opinions of the person who post their views and
opinions.
</p>
<p class="mb-4">
API Data Center reserves the right to monitor all Comments and to
remove any Comments which can be considered inappropriate, offensive,
or causes breach of these Terms and Conditions.
</p>
<h2 class="text-2xl font-bold mb-4">4. Hyperlinking to our Content</h2>
<p class="mb-4">
The following organizations may link to our Website without prior
written approval:
</p>
<ul class="list-disc list-inside mb-4">
<li>Government agencies</li>
<li>Search engines</li>
<li>News organizations</li>
<li>
Online directory distributors may link to our Website in the same
manner as they hyperlink to the Websites of other listed businesses
</li>
<li>
System wide Accredited Businesses except soliciting non-profit
organizations, charity shopping malls, and charity fundraising
groups which may not hyperlink to our Web site
</li>
</ul>
<p class="mb-4">
These organizations may link to our home page, to publications or to
other Website information so long as the link: (a) is not in any way
deceptive; (b) does not falsely imply sponsorship, endorsement or
approval of the linking party and its products and/or services; and
(c) fits within the context of the linking partys site.
</p>
<h2 class="text-2xl font-bold mb-4">5. iFrames</h2>
<p class="mb-4">
Without prior approval and written permission, you may not create
frames around our Webpages that alter in any way the visual
presentation or appearance of our Website.
</p>
<h2 class="text-2xl font-bold mb-4">6. Content Liability</h2>
<p class="mb-4">
We shall not be hold responsible for any content that appears on your
Website. You agree to protect and defend us against all claims that is
rising on your Website. No link(s) should appear on any Website that
may be interpreted as libelous, obscene or criminal, or which
infringes, otherwise violates, or advocates the infringement or other
violation of, any third party rights.
</p>
<h2 class="text-2xl font-bold mb-4">7. Your Privacy</h2>
<p class="mb-4">Please read our Privacy Policy.</p>
<h2 class="text-2xl font-bold mb-4">8. Reservation of Rights</h2>
<p class="mb-4">
We reserve the right to request that you remove all links or any
particular link to our Website. You approve to immediately remove all
links to our Website upon request. We also reserve the right to amen
these terms and conditions and its linking policy at any time. By
continuously linking to our Website, you agree to be bound to and
follow these linking terms and conditions.
</p>
<h2 class="text-2xl font-bold mb-4">
9. Removal of links from our website
</h2>
<p class="mb-4">
If you find any link on our Website that is offensive for any reason,
you are free to contact and inform us any moment. We will consider
requests to remove links but we are not obligated to or so or to
respond to you directly.
</p>
<p class="mb-4">
We do not ensure that the information on this website is correct, we
do not warrant its completeness or accuracy; nor do we promise to
ensure that the website remains available or that the material on the
website is kept up to date.
</p>
<h2 class="text-2xl font-bold mb-4">10. Disclaimer</h2>
<p class="mb-4">
To the maximum extent permitted by applicable law, we exclude all
representations, warranties and conditions relating to our website and
the use of this website. Nothing in this disclaimer will:
</p>
<ul class="list-disc list-inside mb-4">
<li>
limit or exclude our or your liability for death or personal injury;
</li>
<li>
limit or exclude our or your liability for fraud or fraudulent
misrepresentation;
</li>
<li>
limit any of our or your liabilities in any way that is not
permitted under applicable law; or
</li>
<li>
exclude any of our or your liabilities that may not be excluded
under applicable law.
</li>
</ul>
<p class="mb-4">
The limitations and prohibitions of liability set in this Section and
elsewhere in this disclaimer: (a) are subject to the preceding
paragraph; and (b) govern all liabilities arising under the
disclaimer, including liabilities arising in contract, in tort and for
breach of statutory duty.
</p>
<p class="mb-4">
As long as the website and the information and services on the website
are provided free of charge, we will not be liable for any loss or
damage of any nature.
</p>
</div>
</div>
@@include('footer.html') @@include('script_deps.html')
</body>
</html>