Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果一个网站不提供给那些禁用Javascript的人,它有多安全?_Php_Javascript_Html_Jquery Ui - Fatal编程技术网

Php 如果一个网站不提供给那些禁用Javascript的人,它有多安全?

Php 如果一个网站不提供给那些禁用Javascript的人,它有多安全?,php,javascript,html,jquery-ui,Php,Javascript,Html,Jquery Ui,我在我的新项目中广泛使用JQuery和Javascript,包括表单验证,因为我不想使用PHP验证给服务器带来负担。所以我限制我的网站不让那些在浏览器上禁用Javascript的人访问。我正在尝试使用meta标记重定向它们: <meta http-equiv="refresh" content="2; URL=../../enablejs.html"> 我认为这是安全的,因为如果不启用javascript,他们将无法访问我的站点 但我仍然对此有疑问,需要你的建议。完全安全吗?如

我在我的新项目中广泛使用JQuery和Javascript,包括表单验证,因为我不想使用PHP验证给服务器带来负担。所以我限制我的网站不让那些在浏览器上禁用Javascript的人访问。我正在尝试使用meta标记重定向它们:

<meta http-equiv="refresh" content="2; URL=../../enablejs.html">

我认为这是安全的,因为如果不启用javascript,他们将无法访问我的站点


但我仍然对此有疑问,需要你的建议。完全安全吗?如果没有,我需要集中在哪些方面?

这是一个非常糟糕的想法

因为我不想使用PHP验证给服务器增加负担

你的意思是,你不想为实现它而增加负担:)

我能理解。每个人都讨厌把事情做两次。但服务器端验证不是一个可协商的额外费用;客户端验证可以很容易地规避,并且仅为用户方便。为了安全起见,始终需要服务器端验证


除了这是一个坏主意之外,没有可靠的方法排除关闭了JavaScript的用户。JavaScript在客户端运行,它的存在或不存在很容易被服务器伪造。

客户端任何东西都是永远不安全的。您总是需要服务器端验证。这不是一种“负担”,而是一种必需品。我甚至不需要你的网站向你的服务器提交(未经验证的)数据,最终它都归结为HTTP请求。如果不验证用户在服务器上执行的所有操作,则没有安全性

我在我的新项目中广泛使用Jquery和Javascript,包括表单验证,因为我不想使用PHP验证给服务器带来负担

这不应该省下很大的负担。它应该给用户更快的反馈,这是好的

所以我限制我的网站不让那些在浏览器上禁用Javascript的人访问

那是浪费时间。提交内容中来自禁用JS的用户的比例将很小

我正在尝试使用meta标记重定向它们

这是一件非常不利于用户的事情

我认为这是安全的,因为如果不启用javascript,他们将无法访问我的站点


如果您的意思是它避免了编写服务器端验证例程的需要,那么您就错了。如果有人想要攻击站点(而不是意外地提交坏数据),那么他们可以手动构造HTTP请求

不,那不安全。客户端验证是不安全的。启用javascript后,任何人都可以绕过您的验证。使用chrome控制台,我可能可以在您没有注意到的情况下更改输入框或任何其他输入方法上的任何文本


使用服务器端验证,否则你就完蛋了。不,这不安全。切勿依赖浏览器进行表单验证。浏览器中的表单验证应该只是为了改善用户体验,而不是为了保护数据。您需要添加一些PHP验证


另外,禁用JavaScript的人不应该使用您的站点吗?您应该使JavaScript优雅地降级,以便您的站点在没有JavaScript的情况下仍然可用。

使用客户端验证会导致灾难“从不信任客户端输入”客户端输入包括GET(包含URL)、POST、FLash

所有输入都应该通过服务器端脚本语言(如PHP、ASP.net、java等)进行验证。。。 如果您使用PHP,请检查并查找表单验证脚本和跨站点脚本(XSS)。或者使用zend、codeigniter等框架中提供的验证类


您仍然需要PHP验证,因此您需要专注于服务器端验证领域!Javascript验证只对用户可用性有利,并且很容易被“黑客”攻击,从而向服务器发送坏数据如果在用户浏览器中启用或禁用Javascript,则您的站点同样容易受到攻击。安全性与用户浏览器中禁用的javascript无关。并非所有用户都将同时禁用JavaScript。必须进行服务器端验证。您可能不知道如何跳过JavaScript验证,但某些访问者最终会知道。如果您不打算验证服务器上发送的数据,无论您的界面有多安全,人们都可以通过伪造自己的HTTP请求绕过它。即使启用了JavaScript,人们仍然可以查看您的源代码,然后编写bookbarklet并执行它以禁用JavaScript验证。