用Nodejs创建服务器后端,接收前端数据

本文探讨了博士关于钓鱼攻击的研究,指出利用Node.js而非PHP创建钓鱼网站后端的简易性。通过示例展示了如何使用Node.js和WebSocket接收前端发送的用户名和密码信息。文章提供了一段前端HTML和后端Node.js代码,说明了建立通讯连接和数据交换的过程。
摘要由CSDN通过智能技术生成

博士做的钓鱼研究。其中有一章节,“how easy is it to launch a phishing attack”。主要来讲,现在做一个钓鱼网站,是一件多么简单的事情。一般来讲,用php来搭建后端服务器。这样,前端复制过来的官网,把诱骗的用户信息传到自己的后端服务器上。但是呢,对于新手来说,还要多学一门语言。所以,我们可以舍弃用php,而用nodejs来搭建自己的后端服务器。

js越来越强大,nodejs用法基本和js一样,并且用来做后端。今天就用nodejs写一个简单的例子。可以接受前端发过来的数据。

首先,用到一个包,安装命令是:

npm install nodejs-websocket

前端html文件,命名为index.html, 里面有两个简单输入框,分别为username和password。然后定义了一个div,用来显示后端传过来的数据:

<h1>Echo Test</h1>
	Username: <input id="username" type="text">
	<br>
	Password: <input id="password" type="text">
	<br>
	<button id="sendBtn">SEND</button>
<div id='recv'></div>

我们监听一个端口,用来通讯。通过button的onclick事件,用websocket.send(),把数据传到后端。

并且,可以用onmessage,来接受后端发来的数据。

所以,js代码为:

var websocket = new WebSocket("ws://localhost:9999/");

websocket.onopen = function(){
	console.log('websocket open')
    document.getElementById('recv').innerHTML = 'Connected'
}

websocket.onclose = function(){
	console.log('websocket close')
}

//sending message from front to back
websocket.onmessage = function(e){
	console.log("This is on message data: " + e.data)
	document.getElementById('recv').innerHTML = e.data
}

document.getElementById('sendBtn').onclick = function(){
	var username = document.getElementById('username').value
	var password = document.getElementById('password').value
	websocket.send(username+";"+password)
}

nodejs,为后端,建立监听端口。这个例子中,端口为9999。然后require需要的那个数据包。代码为:

var ws = require("nodejs-websocket")

var port = 9999

var server = ws.createServer(function(conn){
	console.log("New connection")
	conn.on("text", function(str){
		console.log("Received message from front side:" + str)
		conn.sendText(str)
	})

	conn.on("close", function(code,reason){
		console.log("Connection close")

	})

	conn.on("error", function(err){
		console.log("handle err")
		console.log(err)
	})
}).listen(port)

console.log("websocket server listening on port: " + port)

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值