如何获取从中调用脚本的页面名称
How to get the page name from which the script is called
我有一个从 3 个不同页面调用的函数。在每个页面中,我都会向一个div添加一个属性。
例如:
<div id="posts" page="home"></div>
<div id="posts" page="feed"></div>
<div id="posts" page="search"></div>
在Java脚本中,我获取page的值,然后将其传递给PHP文件,其中我有一个if
,elseif
和else
状态。
为了更安全,我认为如果在 AJAX 加载的 PHP 文件中获取调用脚本的 url 会很好,因为简单地使用 google 调试工具有人可以更改 attr。
<?php
if($page =='home' && $sourceUrl == 'the home url' )
{
// do this
}
elseif($page =='feed' && $sourceUrl == 'the feed url')
{
// do this
}
elseif($page =='search' && $sourceUrl == 'the search url')
{
// do this
}
else
{
exit();
}
?>
嗯,好吧,你可以使用 javascript 来获取当前页面地址并发送到你的 PHP 文件,你也可以使用 PHP,但这只会让你获得 PHP 脚本的地址。
无论如何,你用javascript这样做根本不安全,正确的方法是不要担心发送到服务器的内容,因为服务器端脚本验证来自用户的所有输入,而不是相反!
只需检查PHP脚本中的某些值,如果收到其他值,则终止Ajax调用,这是简单安全(至少在某种程度上)的解决方案。
为了避免XSS,你可以生成一个随机字符串,该字符串在每次从PHP加载页面时插入到HTML中,当然必须是随机的。每次 ajax 调用时都发送该字符串,以避免有人从其他地方向您的脚本发送 ajax 调用。
相关文章:
- 从 java 脚本调用函数时 PHP 中出错
- 从不同的脚本调用Post AngularJs
- 多个“;脚本调用"在SINGLE”内$(文档).ready()”;
- 如何使用webbrower对象中的脚本调用C#事件
- 从Java脚本调用C#代码隐藏代码
- 当我使用java脚本调用web服务时,模拟器上没有得到响应
- 使用 jQuery getScript 从 PHP 脚本调用 JavaScript 函数
- 将注入的按钮从内容脚本调用到后台.js
- 从 Java 脚本调用 Java 方法
- 在 sharepoint 环境中使用脚本调用 lists.asmx Web 服务
- 从 php 脚本调用 javascript 问题
- 使用 AJAX 从 Java 脚本调用 RestfulWebService
- Ajax 从本地 js 脚本调用本地 Phantom.js 服务器
- 从 java 脚本调用参数化 ms-access 函数的语法是什么?
- JavaScript 加载其他脚本 - 调用函数 - 未定义
- 从 JavaScript 脚本调用 PHP 函数
- 从 PHP 脚本调用节点
- 从内联脚本调用coffeescript中的函数
- HTML选择标记值在从脚本调用函数后不会立即更改
- 在进行脚本调用后,Css未正确呈现属性