我有一个PHP脚本,它通过GET基于URL中的参数进行MySQL插入查询。我今天注意到,似乎来自同一局域网的两个用户都有重复记录,第一个记录的IP解析为proxy.organization.tld另一个记录具有相同的值,几分钟后用不同的IP记录地址。
我猜这与代理服务器发出HTTP请求并可能缓存内容有关。有没有人有任何想法或策略来处理这个?我想防止重复的条目。
感谢。
答案 0 :(得分:2)
在每个网址后添加唯一值。这样,如果代理服务器“重新调用”该网址,您就可以检测到它是一个重复的呼叫。
答案 1 :(得分:0)
还有其他原因导致不必要的重复插入。例如,浏览器可以预取页面,蜘蛛可以跟随它不应该的链接。
如果GET请求修改数据,则存在设计缺陷。 GET应该只用于读取,POST应该用于修改数据。任何浏览器,代理或蜘蛛都知道POST请求可能有副作用,并且会采取所有预防措施不重复它,而GET请求被认为没有任何副作用。因此,可以根据需要重复或缓存它以提高性能。