【问题标题】:Javascript string checkingJavascript字符串检查
【发布时间】:2013-08-03 14:13:23
【问题描述】:


我对 JavaScript 相当陌生,并试图自学 JavaScript 表单验证。

是否可以快速浏览不同的变量以及如何防止 SQL 注入?

我目前正在使用该变量来测试我的密码是否符合某种安全级别。是否有可能看到一个示例变量,它要求用户输入至少一个一个数字,并且至少一个一个大写字母与他们的其他小写字母混合。 p>

var passw= /^[a-zA-Z]*.{8,15}$/;

非常感谢,非常感谢

【问题讨论】:

  • “如何防止 SQL 注入” 您必须在服务器端执行此操作,而不是在客户端。还是您在客户端上运行 SQL 查询?
  • 通过使用单个正则表达式,您限制了将他们违反的规则传递给用户的能力。类似:stackoverflow.com/questions/7844359/…
  • 您提到了 SQL 注入,但您并没有按原样存储用户密码吗?
  • @nnnnnn 见鬼。发布到数据库时,密码经过 md5 哈希和四级盐。有人告诉我这是一个不错的安全级别。我应该做更多吗?

标签: javascript function validation sql-injection password-protection


【解决方案1】:

如果您试图阻止 SQL 注入,那么您需要在服务器端进行。在客户端做这件事是没有意义的,因为对于一些作恶者来说,拦截请求并更改值,绕过你的客户端验证是相当微不足道的。

话虽如此,如果您使用的是 node.js 或其他一些基于 javascript 的服务器端引擎,那么您可以在那里进行验证。在 node.js here 中有关于如何在服务器端执行此操作的非常详尽的答案。

【讨论】:

  • 我想我爱你。我一直在自己编写所有内容,并且很想使用 Ajax 表单验证或 php 发布验证。两者都有什么好处?由于活动表单提交,Ajax 表单验证是否比注入更普遍?
  • 它们非常相似。事实上,您可以使用 Ajax 发布到服务器上的 php 页面。任何一种类型的表单提交都同样容易被注入,因为它会触发对 url 的请求。他们都主要在后台进行。如果您使用数据包嗅探器(我喜欢Burpsuite),您可以在这些请求发送时看到它们。因为就注入而言差异很小,所以我个人发现使用内置的表单提交要容易得多。如果您使用 POST 请求来防止重复提交,请记住重定向到另一个页面。
猜你喜欢
  • 1970-01-01
  • 2018-11-28
  • 2013-02-18
  • 2016-02-12
  • 1970-01-01
  • 2011-05-24
  • 1970-01-01
  • 2020-11-21
  • 1970-01-01
相关资源
最近更新 更多