jos*_*krz 1 php mysql security escaping input
可能重复:
最终的清洁/安全功能
在阅读了PHP安全性之后,我觉得我编码的任何东西都是不安全的.因此,为了解决用户输入的安全问题,我创建了一个函数,允许我在任何使用情况下转义并删除用户输入.
我想知道这实际上是否安全,如果我能使它更安全.这会阻止什么样的攻击?从我可以通过使用_GET告诉XSS,HTML输入和MYSQL注入将被阻止?
function _INPUT($name,$tag,$sql,$url)
{
if ($_SERVER['REQUEST_METHOD'] == 'GET')
$filter = ($_GET[$name]);//Assign GET to filter variable
if ($tag == true)//Remove all HTML, PHP and JAVASCRIPT tags
{
$filter = strip_tags($filter);
}
if ($sql == true)//If MYSQL escaping is enabled
{
$filter = mysql_real_escape_string($filter);
}
if ($url == true)//If URL encoding is enabled
{
$filter = urlencode($filter);
}
return $filter;
}
$output = _INPUT('name',true,true,true);
Run Code Online (Sandbox Code Playgroud)
我也将使用MYSQL的预处理语句,虽然我需要更多地阅读它们以完全理解它如何防止注入.
感谢您的时间.
再一次,没有通用的逃避功能,只是神奇地使事情"安全".
请参阅:https: //stackoverflow.com/a/7810880/362536
不同的逃避方法用于不同的事情.您不能通过一堆应该在特定上下文中使用的函数来运行一堆数据.您正在创建垃圾数据,并且不会比您首先使用原始用户数据更安全.