我刚开始进行Web开发(一周左右),所以我知道我的步伐可能太快了,但是由于我不太了解这一点,因此需要一些帮助。到目前为止,我所拥有的是一个登录页面,该页面将2个输入(用户名+密码)与2个常量进行比较。但是,我希望它的工作方式是将输入与从文本文件中读取的2个值进行比较,因此我可以拥有一个用户名/密码数据库。
<script>
const adminUserName = "admin";
const adminPassWord = "123";
function getUsername(){
var username = document.getElementById("userName").value;
var password = document.getElementById("passWord").value;
username == adminUserName && password == adminPassWord ? window.open ("admin.html","mywindow"):
document.write("Invalid entry.")
}
我需要添加的代码(node.js)是
var fs = require('fs')
fs.readFile('loginData.txt', 'utf8', function(err, data){
})
那么如何将node.js连接到我的网站? 抱歉,如果我没有很好地解释,如果您有更好的存储用户数据的想法,请随时进行解释(记住我是新来的):)
答案 0 :(得分:1)
在回答之前的警告:如果您是网站开发的新手,并且需要输入用户名和密码,我想提醒您,不要让易受攻击的信息传递用户名和密码。有许多复杂且复杂的方法可用于获取密码和用户名。有时,这对于有经验的程序员来说可能是一个斗争。围绕敏感信息进行业余编码可能会使您对任何妥协负责。请注意,我不是律师。请在您所在辖区的法律处查看我提供的有关这方面的任何信息,这些信息均由合格,胜任和执照的律师提供。
也就是说,做您想做的事的超级正确方法是与php一起使用mysql。与其写出一个充实的答案,不如说是将javascript,php和msql作为主题。
现在就可以做您想做的事,这种快速又肮脏的方式没有基本的安全要求:
<html>
<head>
<title>Hey</title>
<script>
function sendit()
{
if (document.getElementById("UserName").value == "")
{
alert("Please Enter Something in the Username Field");
}
if (document.getElementById("password1").value == "")
{
alert("Please Enter Something in the Password Field");
}
if (document.getElementById("UserName").value != "" && document.getElementById("password1").value != "")
{
my_form.action = "yourphpfile.php";
document.my_form.submit();
}
}
</script>
</head>
<body>
<h3>Welcome User <br /> Please enter your username and password</h3>
<form method="post" name="my_form">
<h4>User Name: <input type="text" id="UserName" name="UserNameN" /></h4>
<h4>Password: <input type="password" id="password1" name="password1N" /></h4><br />
<input type="button" value="Submit" onClick="sendit()"/>
</form>
</body>
</html>
然后您需要进入php页面:
<?PHP
$UserName = $_POST['UserNameN'];
$Password = $_POST['password1N'];
function redirect($url)
{
header('Location: ' . $url);
exit();
}
if ($UserName == "BobTim" and $Password == "Password")
{
session_start();
$_SESSION['username']= 'BobTim';
redirect("abc123.html");
exit();
}
if ($UserName == "Blake" and $Password == "12345")
{
session_start();
$_SESSION['username']= 'Blake';
redirect("abc123.html");
exit();
}
if ($UserName == "George" and $Password == "ABCDEFG")
{
session_start();
$_SESSION['username']= 'George';
redirect("abc123.html");
exit();
}
if ($UserName == "Steve" and $Password == "ILikeBlue")
{
session_start();
$_SESSION['username']= 'Steve';
redirect("abc123.html");
exit();
}
if ($UserName == "Coco" and $Password == "IceCream")
{
session_start();
$_SESSION['username']= 'Coco';
redirect("abc123.html");
exit();
}
else {
redirect("sorry.html");
exit();
}
?>
重定向到abc123.html之后,将abc123.html放在顶部:
<?PHP
session_start();
if (!isset($_SESSION['username'])) {
header('Location: http://www.mybusinesssample.com/forbidden.html');
}
?>
<html>
<head>
<title>Main Page</title>
</head>
<body>
<?PHP
if (isset($_SESSION['username'])) {
echo "Hi {$_SESSION['username']} <br /><a href='unset.php'>Log Out</a><br /> <br />";
}
?>
现在,您需要一个注销页面,在这种情况下,该页面称为unset.php:
<?php
session_start();
session_destroy();
header ('Location: index.html');
?>
如果他们没有通过,您需要告诉他们对不起:
<html>
<head>
<title></title>
<script>
function sendit()
{
if (document.getElementById("UserName").value == "")
{
alert("Please Enter Something in the Username Field");
}
if (document.getElementById("password1").value == "")
{
alert("Please Enter Something in the Password Field");
}
if (document.getElementById("UserName").value != "" && document.getElementById("password1").value != "")
{
my_form.action = "yourphpfile.php";
document.my_form.submit();
}
}
</script>
</head>
<body>
<h3>Welcome User <br /> Please enter your username and password</h3>
<form method="post" name="my_form">
<h4>User Name: <input type="text" id="UserName" name="UserNameN"/></h4>
<h4>Password: <input type="password" id="password1" name="password1N" /></h4><br />
Sorry! Your Username and/or your password wasn't recognized! <br />
<button type="button" id="button" onclick="sendit()">Submit</button>
</form>
</body>
</html>
最后,我要感谢您使这个古老而又古老的项目再次有意义。
答案 1 :(得分:-1)
听起来像您可能需要考虑创建一个桌面应用程序以与网站配合使用。
如果使用NW或Electron,则在客户端使用node.js读取文本文件非常容易。这些程序将使用您的HTML + CSS + JS并生成可访问node.js和Chromium窗口的可执行应用程序。
这样您的桌面应用程序便可以与您的网站进行通信了。
西北: https://nwjs.io/
我使用前者,它的工作原理很像魅力。实际上,我遇到的唯一麻烦是无数的Chromium错误。