在关闭 nodeIntegration 的情况下创建自定义窗口控件(如关闭、最小/最大和恢复)时,我被卡住了。我在渲染器的本地 html 文件中创建了按钮
主文件
mainWindow = new BrowserWindow({
x, y, width, height,
frame: false,
show: false,
webPreferences: { devTools: true }
});
mainWindow.loadURL(url.format({
protocol: 'file:',
slashes: true,
pathname: path.join(__dirname, 'assets', 'index.html')
}));
Run Code Online (Sandbox Code Playgroud)
索引.html
<div id='minimize' class='noSelect'></div>
<div id='maximize' class='noSelect'></div>
<div id='restore' class='noSelect'></div>
<div id='close' class='noSelect'></div>
<script type='text/javascript' src='../assets/js/index.js'></script>
Run Code Online (Sandbox Code Playgroud)
默认情况下,nodeIntegration 处于关闭状态,因此index.js无法访问 Node。但是,我需要能够向按钮添加功能以关闭、最小/最大和恢复窗口。
索引.js
const { remote } = require('electron');
const mainWindow = remote.getCurrentWindow();
document.getElementById('close').addEventListener('click', () => {
mainWindow.close();
});
Run Code Online (Sandbox Code Playgroud)
由于 nodeIntegration 被禁用,这将不起作用。在本地页面中启用它是否安全?如果没有,这样做的安全方法是什么?
我有人在一个部落中提交用户名和密码,我需要知道使用此代码将其提交到数据库中是否安全,或者它是否在数据库中是安全的.
MySQLCon.Open()
Dim SQLADD As String = "INSERT INTO members(username,password) VALUES(@memberToAdd, @memberPassword)"
COMMAND = New MySqlCommand(SQLADD, MySQLCon)
COMMAND.Parameters.AddWithValue("@memberToAdd", memberToAdd.Text)
COMMAND.Parameters.AddWithValue("@memberPassword", membersPassword.Text)
COMMAND.ExecuteNonQuery()
MySQLCon.Close()
MySQLCon.Dispose()
Run Code Online (Sandbox Code Playgroud)
我使用参数来避免SQL注入攻击.
-------------------------------------------------- --------------------------------
这不是重复,因为它以不同的方式询问和存储密码.它使用MD5来散列密码.
我正在为我的应用程序使用来自网络的主题vb.net,并且textbox没有滚动条或滚动条属性。该主题确实附带了VScrollBar Control,但我不知道如何向其添加代码以使其像平常一样滚动文本框。谁能帮我?
这些都是Custom Controls。
It's a Windows Form. (WinForms)
文本框及其属性:
