我只是想指出的是,你不需要PHP来访问你的查询字符串变量,因为一些已经提到的,你在这里混技术。另外请注意,您的问题示例存在安全问题,我敢肯定这些问题会持续存在,因为您需要在您调用的脚本中清理输入内容。
您的完整示例可以在JavaScript中完成。我将使用jQuery进行ajax调用(您可以忽略它,并显然自己处理ajax调用 - 我只是懒惰;-))和用于查询字符串检索的MDN snippte。
// populate a variable with your query string (window.location.search) - courtesy of MDN
var oGetVars = new (function (sSearch) {
var rNull = /^\s*$/, rBool = /^(true|false)$/i;
function buildValue(sValue) {
if (rNull.test(sValue)) { return null; }
if (rBool.test(sValue)) { return sValue.toLowerCase() === "true"; }
if (isFinite(sValue)) { return parseFloat(sValue); }
if (isFinite(Date.parse(sValue))) { return new Date(sValue); }
return sValue;
}
if (sSearch.length > 1) {
for (var aItKey, nKeyId = 0, aCouples = sSearch.substr(1).split("&"); nKeyId < aCouples.length; nKeyId++) {
aItKey = aCouples[nKeyId].split("=");
this[unescape(aItKey[0])] = aItKey.length > 1 ? buildValue(unescape(aItKey[1])) : null;
}
}
})(window.location.search);
// with jQuery
$.ajax({
url: "accounts/" + oGetVars.un,
success: function(data, textStatus, jqXHR) {
console.log(data);
}
});
// plain javascript
var xhr = new XMLHttpRequest();
xhr.open("GET", "accounts/" + oGetVars.un, true);
xhr.onreadystatechange = function() {
if(http.readyState == 4 && http.status == 200) {
console.log(this.responseText);
}
};
xhr.send();
用普通的javascript XMLHttpRequest调用更新示例。
这不是真的对公众而言,只是我和我的朋友。 ;] – celliott1997
我强烈建议检查文件夹中是否存在该文件,使用'../'进行遍历可以在服务器上显示您的密码或其他敏感文件内容。 –
如果不清楚,戴夫陈的意思是,任何人都可以读取磁盘上的任何内容,而不仅仅是在帐户文件夹中(取决于文件权限)。 –