我有一个与电话程序接口的功能,并呼叫人.我想知道,有一种方法可以用来呼叫人们一段时间吗?
我想运行一个循环:
while(flag = 0){
call(people);
if(<ten minutes have passed>){
flag = 1;
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.
所以,我在一些经典的ASP代码中同时发现了一些超级令人不安的代码,以及一些PHP.
经典ASP:
Dim id
id = request.form("id")
Session(id) = id
Run Code Online (Sandbox Code Playgroud)
PHP
$_SESSION[$_GET["id"]] = $_GET["id"];
Run Code Online (Sandbox Code Playgroud)
那么,这里可能出现什么问题?请注意,显然我将删除这些并使用更好的工作流程.
编辑:明显的问题可能是SQLi,XSS,覆盖现有和必要的会话变量.我真的不知道这些语言如何处理会话变量的内部工作原理.
编辑2:我并不真正关心会话变量的值,因为我担心能够命名它们.只是好奇,如果有任何疯狂的东西你可以使用任意变量名称.
我在下面有以下代码(注意,我稍后会在循环中添加更多代码,但我需要首先使用它):
var calls_on = true;
function hunt(max, ext, duration){
if(duration != '0' || duration != false || duration != 0){
duration = duration * 1000; // milliseconds to delay before stopping calls
var t=setTimeout(function(){calls_on=false;}, duration);
}
while(calls_on){
alert('reached');
}
alert('test');
}
Run Code Online (Sandbox Code Playgroud)
我已经确认'duration'条件正在执行,并且正在设置超时句柄.但是,这个循环永远不会结束,我从来没有看到setTimeout回调被执行.当我完全删除循环时,它工作正常(因为这使它成为函数中唯一的代码).
任何帮助,将不胜感激.setTimeout不知何故超出范围?循环如何使超时脱轨?
javascript ×2
asp-classic ×1
callback ×1
php ×1
security ×1
session ×1
settimeout ×1
timing ×1