我认为我已经妥善地逃脱了一切,但我想知道我是否做了正确的事情。我记得在某处读过我们不应该过滤输入,只是输出。就我而言,这是否意味着我不应该在任何地方使用function Get_Offset_From_Start (object, offset) {
offset = offset || {x : 0, y : 0};
offset.x += object.offsetLeft; offset.y += object.offsetTop;
if(object.offsetParent) {
offset = Get_Offset_From_Start (object.offsetParent, offset);
}
return offset;
}
function Get_Offset_From_CurrentView (myElement) {
if (!myElement) return;
var offset = Get_Offset_From_Start (myElement);
var scrolled = GetScrolled (myElement.parentNode);
var posX = offset.x - scrolled.x; var posY = offset.y - scrolled.y;
return {lefttt: posX , toppp: posY };
}
//helper
function GetScrolled (object, scrolled) {
scrolled = scrolled || {x : 0, y : 0};
scrolled.x += object.scrollLeft; scrolled.y += object.scrollTop;
if (object.tagName.toLowerCase () != "html" && object.parentNode) { scrolled=GetScrolled (object.parentNode, scrolled); }
return scrolled;
}
/*
// live monitoring
window.addEventListener('scroll', function (evt) {
var Positionsss = Get_Offset_From_CurrentView(myElement);
console.log(Positionsss);
});
*/
函数?并坚持sanitize
和prepare statements
?
htmlscpecialchars
答案 0 :(得分:1)
全部用PDO::prepare
为将使用不同参数值多次发出的语句调用
PDO::prepare()
和PDOStatement :: execute()通过允许驱动程序协商客户端和/或服务器端缓存查询来优化应用程序的性能计划和元信息,并通过消除手动引用参数的需要帮助防止SQL注入攻击。
并且有另一个替代
PDO::quote(
)在输入字符串周围放置引号(如果需要),并使用适合底层驱动程序的引用样式转义输入字符串中的特殊字符。
了解XSS注射Read this Answer too
答案 1 :(得分:0)
在清理用户输入的数据时,我总是使用的一件事是使用strip_tags()...
特别是如果要在某些时候回显内容......你不希望使用表单轻松注入脚本。
尝试在其中一个文本元素中键入<script>alert("hello");</scirpt>
并提交...