我正在使用jquery ajax将更新发布回我的服务器。我担心要确保已采取适当的措施,以便只有我的AJAX呼叫才能发布数据。
我的堆栈是针对MySQL后端的Apache上的PHP。
忠告不胜感激!
您页面中的AJAX调用可以发出的任何请求也可以由应用程序外部的人发出。如果操作正确,您将无法确定它们是来自Web应用还是通过手动/其他方式进行的AJAX调用。
当您说要确保只有AJAX调用可以发布数据时,我可能会想到两种情况:一种是您不希望恶意用户能够发布会干扰另一种数据的数据。用户数据,或者您实际上想将帖子限制在多请求操作的“流程”中。
如果您担心第一种情况(有人向其他用户发布恶意数据/以其他用户身份发布),则无论您是否使用AJAX,解决方案都是相同的-
您只需通过必要的方式对用户进行身份验证-通常是通过会话进行曲奇饼。
如果您担心第二种情况,那么您将必须执行一些操作,例如在流程的每个步骤中发出唯一令牌,并将预期令牌存储在服务器端。然后,在发出请求时,请检查服务器端是否有针对正在执行的操作的相应条目,并且预期的令牌匹配并且该令牌尚未使用。如果没有,则拒绝该请求;如果存在,则将该令牌标记为已使用并处理该请求。
如果您担心的不是这两种情况之一,那么答案将取决于比您提供的更多的细节。
问题内容: 即使经过了这一点,我仍然不清楚在以下代码中使用final如何导致安全发布。有人可以给出一个易于理解的解释吗? 问题答案: 编辑添加:关于Java和JSR-133 行为起源的 有趣观点。 有关如何在新JMM中正常工作的规范参考,以确保安全发布:http : //www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html#finalRigh
及其不安全的发布: 可以抛出AssertionError,我同意。作者写道,这是因为不安全的出版,但另一方面没有答案:什么才是正确的出版方式?它们表示了4个安全发布习惯用语,但我不明白,为什么它们会在上面的情况下起作用: 要安全地发布对象,必须同时使对对象的引用和对象的状态对其他线程可见。通过以下方法可以安全地发布构造正确的对象: null 这里是我的第一个问题,谢谢你的帮助!
由于引用字段lastLogin没有任何字段的属性来保证可见性(final、volatile、guarded或由静态初始化器初始化),我认为映射本身可能不会以完全构造的状态显示给其他线程,因此本末倒置。还是我错过了什么?
本文向大家介绍保障MySQL数据安全的一些建议,包括了保障MySQL数据安全的一些建议的使用技巧和注意事项,需要的朋友参考一下 数据是企业核心资产,数据对企业而言是最重要的工作之一。稍有不慎,极有可能发生数据无意泄露,甚至被黑客恶意窃取的风险。每年业界都会传出几起大事件,某知名或不知名的公司被脱裤(拖库的谐音,意思是整个数据库被黑客盗取)之类的。 从数据安全上也可以分为外网安全及内部操作安全,下面
每个方法将一个排入队列,以便在另一个线程上执行。在后台线程上调用来执行某些任务,在UI线程上调用来显示结果。 如果我们假设返回一个可变的、未同步的列表,例如ArrayList,那么赋值给的最后一个参数是否可以确保列表的安全发布,还是需要采取额外的步骤来确保安全发布?
问题内容: 在阅读了“ 实践中的Java并发 ”和“ 实践OSGI ”之后,我发现了一个非常有趣的特定主题。安全发布。以下是来自JCIP的内容: 为了安全地发布对象,必须同时使对该对象的引用和该对象的状态对其他线程可见。可以通过以下方式安全地发布正确构造的对象: 从静态初始化程序初始化对象引用。 将对它的引用存储到可变字段中。 将对它的引用存储到最终字段中。 将对它的引用存储到由(同步)锁适当保护