Javascript PHP代码执行,防止未经授权的外部访问执行
我正在开发一个Web应用程序,其中开发了各种模块和脚本。现在,随着各种PHP脚本和javascript的使用,应用程序按照预期工作 我愿意阻止未经授权执行PHP脚本。我的意思是应用程序有javascript,通过javascript将Post参数作为变量发布,任何人都可以查看将值传递给php脚本的详细信息。此外,我不能绕过这样的操作,因为它会对数据库的记录进行一些必要的数据操作、添加、修改和删除 如果有人恶意阅读javascript并通过POST参数将类似类型的参数发送到PHP脚本,web应用程序将无法识别请求是来自授权用户还是来自未授权用户 假设web应用程序中的某个操作通过jquery使用ajax删除客户,该操作将以类似javascript的方式编写Javascript PHP代码执行,防止未经授权的外部访问执行,javascript,php,security,Javascript,Php,Security,我正在开发一个Web应用程序,其中开发了各种模块和脚本。现在,随着各种PHP脚本和javascript的使用,应用程序按照预期工作 我愿意阻止未经授权执行PHP脚本。我的意思是应用程序有javascript,通过javascript将Post参数作为变量发布,任何人都可以查看将值传递给php脚本的详细信息。此外,我不能绕过这样的操作,因为它会对数据库的记录进行一些必要的数据操作、添加、修改和删除 如果有人恶意阅读javascript并通过POST参数将类似类型的参数发送到PHP脚本,web应用程
var request = $.ajax({
url: "phpscript.php",
type: "POST",
data: {DataInp: 'CustomerNo', Action: 'delete'}
});
request.done(function( msg ) {
SRes = msg;
});
request.fail(function( jqXHR, textStatus ) {
SRes = false;
alert( "Request failed: " + textStatus );
});
return SRes;
我使用的会话变量包含一些登录信息和真实的验证,我担心会发生这种危险
还有,如果有人使用下面的
现在请用户打开此网页。现在,由于用户登录到应用程序中,url将被触发,脚本将采取任何必要的操作
因此,基本上是黑客提出了技术上有效但未经授权的请求。所以从技术上讲,这里的问题是服务器无法识别用户是否愿意调用url。因此,需要有一种机制来防止这种情况发生
我想要的是一个简单的方法来验证或确定,如果是真实的或从欺诈时,做这样的重要任务。所以我想防止黑客以有效的方式向PHP脚本发送欺诈请求
如果任何人有解决办法,并且这种行动可以预防,我将寻求帮助和建议,以了解如何实施
我很抱歉我的英语很差,因为英语不是我们的主要语言。但我请求大家在这件事上给我指点一下。我想你得用代币。简而言之,当授权用户请求页面时,您还发送一个新生成的令牌,该令牌的过期时间与页面一起设置。收到请求后,您将检查令牌是否已发布,以及它是否仍然是有效令牌,如果是,请执行脚本。您可以向脚本或应用程序添加身份验证和授权层 身份验证:系统已知用户。用户是谁 授权:允许用户执行特定操作。用户X是否有权执行操作Y 您可以通过添加令牌或时间窗口来改进这一点 例如,身份验证在15分钟后超时。此功能称为:自动注销 另一个策略是使用令牌或时间窗口来增加表单的趣味性 例如,在请求表单后,执行操作的授权仅在2分钟内有效。您可以在会话和表单中添加时间签名 或者,仅当发送了正确的身份验证令牌时,执行操作的授权才有效。 只有经过身份验证的用户请求表单时,才会插入此身份验证令牌。 仅当用户经过身份验证且表单令牌正确时,才会处理表单 令牌身份验证非常常见,但是您有很多选项可以添加安全特性 对于AJAX请求:通常通过头传递令牌。 例如,X-request-With:XMLHttpRequest+X-MyApplication-authttoken: 周围有很多PHP库。不要重新发明轮子。尤其是在安全方面,小的逻辑错误可能会在你的应用程序上打上大洞。使用一个拥有大量用户的库或一个提供可靠身份验证和授权帮助的常用框架 Symfony: 泽德: 此外,您还可以通过检查日志和阻止坏的机器人程序和爬虫程序,尝试保护服务器免受随机URL访问