网站传递给远程服务器

时间:2011-05-19 18:00:44

标签: c# javascript security tcp

我正在计划一个项目,该项目需要不同的网站将非个人数据传递到服务器以便在数据库中处理/存储。我的想法是设置 a 非常基本的线程TCP服务器(在服务器后台运行的C#中) IIS,让它等待传入的连接。当建立连接并传递数据时,我将让Web服务器确定是否保存到数据库。我计划将静态javascript文件保存到我的服务器(每个网站一个)并让不同的网站引用它们。这些js文件将处理从网站到我的服务器的数据传递。

我从未做过这样的事情,所以我想知道在开发这项工作时是否需要实施任何重大保护措施。数据不敏感,所以我不需要加密它。

更具体的问题:

  1. 我计划在到达服务器后验证参数(如注射安全措施),但是通常还要确认请求的位置或真实性吗?
  2. 我是否应该尝试隐藏javascript文件将数据发送到的位置?同样,它不是敏感数据,我只关注在处理javascript时我不熟悉的漏洞 - >服务器
  3. 考虑到我想要完成的基础知识,我应该采取不同的方式吗?

2 个答案:

答案 0 :(得分:1)

(3)。考虑到我想要完成的基础知识,我应该采用不同的方式来解决这个问题吗?

是的,是的。在任何情况下,我都不会考虑采用您概述的路线。它增加了大量代码,实现零利益。

而是这样做:

  1. 让您的主服务器成为常规Web服务器。让它直接向客户端提供javascript文件。
  2. 其他Web服务器应该只包含一个对托管javascript的服务器的常规脚本引用。这与谷歌跟踪的工作方式,甚至是jQuery的交付方式没有什么不同。
  3. 您的主服务器还应该公开一组Web服务。这将接受要处理的信息。无论您使用通用处理程序(.ashx),Web服务(.asmx)还是Windows通信基础(.wcf)都是无关紧要的。
  4. 在任何情况下你都不打算在javascript中编写tcp级代码。你会把你的头发拉出来,最后维持这种状态的人会在不久的将来某个时候将它全部删除。

    使用传统方法。没有理由按照你所确定的方式做事。

    除此之外,请阅读@Frug的回答。无论如何,一旦它到达浏览器,你就无法信任它。它将被读取,打开并可能被修改。您唯一能做的就是使用SSL来确保您和最终客户端浏览器之间不会捕获或修改流量。

答案 1 :(得分:0)

没有什么特别需要注意的,因为没有什么可以做的,以确保javascript不被修改...所以操作假设他们可以覆盖你的JavaScript。这意味着你需要确保从sql注入中清理服务器端的输入。

如果它不敏感并且没有大量数据,您甚至可以通过将javascript作为查询字符串(如get方法表单)推送到URL中来传递它。调试以这种方式发送的东西真的很容易。