Javascript变量保护

时间:2016-04-25 15:48:48

标签: javascript php variables sanitization

是否有可能从PHP变量中保护Javascript变量gotton?如果是这样,怎么样?

 this.name = "<?PHP if(isset($_SESSION['steamid']))echo $_SESSION['name']; ?>";

我不希望用户更改自己的名字。我已经阅读了有关消毒的内容,但不知道它是什么,我不知道这是否适用于此设置。感谢。

1 个答案:

答案 0 :(得分:1)

this.name是属性,严格来说不是变量。这意味着您可以使用Object.defineProperty获得基本级别的保护。

例如,以下内容将该属性设置为只读(因此尝试将其设置为其他值将失败)。

Object.defineProperty(this, 'name', {
    value: "<?PHP if(isset($_SESSION['steamid']))echo $_SESSION['name']; ?>",
    writable: false
});

值得注意的是,这很大程度上可以防止意外操纵。作为客户端语言,任何坚定的人都能够操纵您的代码和价值观,而且您无法阻止这一点。