Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.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
使用javascript重定向安全吗?_Javascript_Redirect - Fatal编程技术网

使用javascript重定向安全吗?

使用javascript重定向安全吗?,javascript,redirect,Javascript,Redirect,我希望创建一个ajax登录表单,在登录时重定向用户-这将检查数据库中的用户名和密码,并向客户端发送true值 因此,我想做window.location=”http://www.someplace.com/mypage.html"; 这安全吗?用户有没有办法禁用javascripts重定向 用户始终可以禁用任何基于javascript的内容 这就是说,使用javascript进行重定向本身并不是不安全的,我没有看到滥用情况,只有破坏情况 总而言之,这取决于您如何定义安全:)用户始终可以禁用任何基

我希望创建一个ajax登录表单,在登录时重定向用户-这将检查数据库中的用户名和密码,并向客户端发送
true

因此,我想做
window.location=”http://www.someplace.com/mypage.html";


这安全吗?用户有没有办法禁用javascripts重定向

用户始终可以禁用任何基于javascript的内容

这就是说,使用javascript进行重定向本身并不是不安全的,我没有看到滥用情况,只有破坏情况


总而言之,这取决于您如何定义安全:)

用户始终可以禁用任何基于javascript的内容

这就是说,使用javascript进行重定向本身并不是不安全的,我没有看到滥用情况,只有破坏情况


总而言之,这取决于您如何定义安全:)

这不是不安全的,但是有两种方法可以选择在不使用JS的情况下重定向(或者如果有人禁用了JS):

1) 通过在你的头脑中添加一个元标记

<meta http-equiv="refresh" content="0;url=http://www.someplace.com/mypage.htm/" />

2) 更好的方法是通过服务器端重定向,即(php)


编辑:正如我回复@Spudley comment时所说,这是另外两种重定向到未启用JS的页面的方法。。在您的案例@Ashley Ward中,我认为这是为ajax表单重定向页面的正确方法:)


另外,表单应该以ajax和非ajax的方式工作;)。。记住其他用户正确地说过的话:JS可以被禁用

这不是不安全的,但是有两种方法可以在不使用JS的情况下重定向(或者如果有人禁用了JS):

1) 通过在你的头脑中添加一个元标记

<meta http-equiv="refresh" content="0;url=http://www.someplace.com/mypage.htm/" />

2) 更好的方法是通过服务器端重定向,即(php)


编辑:正如我回复@Spudley comment时所说,这是另外两种重定向到未启用JS的页面的方法。。在您的案例@Ashley Ward中,我认为这是为ajax表单重定向页面的正确方法:)


另外,表单应该以ajax和非ajax的方式工作;)。。记住其他用户正确地说过的话:JS可以被禁用除了Martin很好的回答之外,别忘了保护自己免受SQL注入攻击:用户可以很容易地自己访问您的目标页面,并发送带有恶意内容的“假”AJAX请求,如
1'或1=1
,作为用户名或密码


与您可能认为的不同,AJAX请求不会对用户完全隐藏,并且可以使用任何人都可以使用的简单工具轻松检测和操作。

除了Martin good Response,别忘了保护自己免受SQL注入攻击:用户可以非常轻松地访问您的目标页面并发送“fake”AJAX请求的用户名或密码为恶意内容,如
1'或1=1


与您可能认为的不同,AJAX请求并不完全隐藏在用户面前,可以使用任何人都可以使用的简单工具轻松地检测和操作。

请记住,Javascript都是在客户端浏览器中运行的。用户可以看到代码,并且使用正确的工具可以原位编辑代码

因此,当您在浏览器中运行Javascript时,没有什么是“安全的”。您应该始终假设恶意用户可以并且将修改您的ajax调用、调整变量并更改javascript代码流

然而,只要您通过确保服务器端代码的安全性(即防止SQL注入攻击等)来满足这一要求,那么您就不必太担心这一点。黑客会试图破坏你的网站,所以你不必担心事情是否会对他有用

对于普通用户来说,只要正常运行代码,那么答案是肯定的:JS重定向应该是完全安全的。用户可以关闭Javascript,但是如果禁用JS,当然Ajax事件也不会起作用


如果您编写的ajax代码为非JS用户提供了回退功能,那么您可能也想为重定向提供回退功能,但您的ajax回退功能很可能会直接加载到重定向页面。

请记住,Javascript都是在客户端浏览器中运行的。用户可以看到代码,并且使用正确的工具可以原位编辑代码

因此,当您在浏览器中运行Javascript时,没有什么是“安全的”。您应该始终假设恶意用户可以并且将修改您的ajax调用、调整变量并更改javascript代码流

然而,只要您通过确保服务器端代码的安全性(即防止SQL注入攻击等)来满足这一要求,那么您就不必太担心这一点。黑客会试图破坏你的网站,所以你不必担心事情是否会对他有用

对于普通用户来说,只要正常运行代码,那么答案是肯定的:JS重定向应该是完全安全的。用户可以关闭Javascript,但是如果禁用JS,当然Ajax事件也不会起作用


如果您编写的ajax代码为非JS用户提供了回退功能,那么您可能也想为重定向提供回退功能,但很可能您的ajax回退功能会直接加载到重定向页面。

如果禁用javascript,重定向将不起作用。.如果禁用javascript,ajax将不起作用;)如果ajax不起作用javascript不会被禁用您在这里创建的这首很酷的诗:-)只要服务器在请求成员页面时再次检查客户端是否被授权(使用cookies等),它是安全的。如果javascript被禁用,重定向将不起作用。如果javascript被禁用,ajax将不起作用;)如果ajax无法工作,javascript无法禁用您在此处创建的酷诗:-)只要服务器在请求成员页面时再次检查客户端是否已授权(使用cookie等),这是安全的。这两个选项都仅在