如何在Java脚本代码中运行node.js?

时间:2019-03-27 23:31:24

标签: javascript html node.js

我刚开始进行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连接到我的网站? 抱歉,如果我没有很好地解释,如果您有更好的存储用户数据的想法,请随时进行解释(记住我是新来的):)

2 个答案:

答案 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: &nbsp; <input type="text" id="UserName" name="UserNameN" /></h4>
<h4>Password: &nbsp; &nbsp; &nbsp;<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: &nbsp; <input type="text" id="UserName" name="UserNameN"/></h4>
<h4>Password: &nbsp; &nbsp; &nbsp;<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/

电子: https://electronjs.org/

我使用前者,它的工作原理很像魅力。实际上,我遇到的唯一麻烦是无数的Chromium错误。