gpt4 book ai didi

javascript - 不允许从地址栏调用 javascript 函数

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:56:13 26 4
gpt4 key购买 nike

我正在与一个在线游戏网站合作。有一些调用 javascript 函数的事件,并且该函数有一些回调操作。

像这样,

 <input type="button" onclick="changeSomething"/>


function changeSomething() {
/// some call back, which changes something
}

现在任何知道这一点的人都可以从浏览器的地址栏中调用这个 changeSomething,我不想这样。

不太可能有人会这样做,但我想允许它。

有什么办法可以防止这种情况发生吗?

谢谢。

附言我试过了,但仍然不确定我是否解释得足够好。如果您没有得到什么,请告诉我。

最佳答案

您永远无法从您尝试的任何技术中获得 100% 的保护。这是一场失败的游戏。

话虽如此,接近您的目标的一种方法是完全删除 onclick 属性,并通过 javascript 绑定(bind)您的点击处理程序(即“changeSomething”):

html:

<input id="foo" type="button" />

js:

addEvent(document.getElementById("foo"), 'click', function() {
/// some call back, which changes something
})

然后回调变为匿名(例如,不再有“changeSomething”函数)。这些作恶的用户如果不知道它的名字就不能直接调用它!

还有一些方法可以绕过这种技术,但我们不会提及这些,以免我们给作恶者提供想法:)

(顺便说一句,addEvent 只是一个用于添加事件处理程序的示例库函数。我确定您可以访问一个。如果没有 here you go。)

关于javascript - 不允许从地址栏调用 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/424524/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com