Javascript 从源代码隐藏背景图像内联样式

Javascript 从源代码隐藏背景图像内联样式,javascript,php,jquery,encryption,Javascript,Php,Jquery,Encryption,我需要为我正在参加的一门课程创建一个简单的记忆游戏,我想到了这个: 隐藏图像通过内联样式与背景图像一起添加,并在每次启动/重置时洗牌,但这并不阻止用户在游戏期间作弊。查看源代码会立即告诉解决方案 我想知道是否有办法在源代码中隐藏背景图像值? 我尝试了一些base64加密,但由于浏览器立即解释了这一点,它根本不起作用。我的另一个想法是用php加密背景图像,显示保存在数据库中的随机输出,例如在标记中,并在每次单击事件时通过ajax请求与php文件通信。我不确定这是否有效,但无论如何,这似乎是一种迂回

我需要为我正在参加的一门课程创建一个简单的记忆游戏,我想到了这个:

隐藏图像通过内联样式与背景图像一起添加,并在每次启动/重置时洗牌,但这并不阻止用户在游戏期间作弊。查看源代码会立即告诉解决方案

我想知道是否有办法在源代码中隐藏背景图像值? 我尝试了一些base64加密,但由于浏览器立即解释了这一点,它根本不起作用。我的另一个想法是用php加密背景图像,显示保存在数据库中的随机输出,例如在标记中,并在每次单击事件时通过ajax请求与php文件通信。我不确定这是否有效,但无论如何,这似乎是一种迂回的处理方式


关于如何以安全有效的方式解决这个问题,有什么建议吗?

一个安全的解决方案是完全在服务器端解决这个问题。通过生成一个随机会话id并洗牌方块开始一个新游戏。然后,客户端JS通过某种API通过AJAX请求方形图像:

GET /<session_id>/square/<x>/<y>

一旦您对服务器端的请求进行了分级限制,以防止用户一次下载所有图像,您的游戏就安全了。

如果用户可以访问web浏览器的开发工具,那么仅使用客户端JavaScript是无法安全地做到这一点的。我还没有说它必须是纯JavaScript解决方案……确切地说,在单击时尝试从db中删除图像..将图像建立基础如何?这样一来,不太明显是哪个图像执行了该操作,但浏览器会立即对其进行解释。即使这样做可行,用户仍然可以轻松解密。
GET /<session_id>/square/<x>/<y>