我有很多用户输入$_GET和$_POST...目前我总是写mysql_real_escape_string($_GET['var'])..
我想知道你是否可以创建一个能够立即保护,转义和清理$_GET/ $_POST数组的函数,因此每次使用用户输入时都不必处理它.
我在想一个功能,例如cleanMe($input),和它里面,它应该做的mysql_real_escape_string,htmlspecialchars,strip_tags,stripslashes(我想这是所有做它的清洁与安全),然后返回$input.
这可能吗?使得对所有工作的功能$_GET和$_POST,所以你会做只有这个:
$_GET = cleanMe($_GET);
$_POST = cleanMe($_POST);
Run Code Online (Sandbox Code Playgroud)
那么在以后的代码中,当您使用eg $_GET['blabla']或者$_POST['haha']它们时,它们是安全的,剥离的等等?
试了一下自己:
function cleanMe($input) {
$input = mysql_real_escape_string($input);
$input = htmlspecialchars($input, ENT_IGNORE, 'utf-8');
$input = strip_tags($input);
$input = stripslashes($input);
return $input;
}
Run Code Online (Sandbox Code Playgroud) 如果我有一个表格(不是所有的代码只是一个字段和我的输入):
<div id="login_form">
<form id="registration" method="post" action="results.php">
<label for="first_name"> First Name: </label>
<input type="text" id="first_name" name="first_name" maxlength="100" tabindex="1" />
<input type="submit" id="login_submit" name="submit" value="Submit"/ align="right">
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
是否可以从表单中获取数据,然后将该数据输出到另一个页面.我现在拥有它的方式我只是回应从表单到页面的帖子:
<?php
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email_address = $_POST['email_address'];
echo 'Hello ';
echo "{$first_name} {$last_name}";
echo '<br/>';
echo '<br/>';
echo 'We have your email address as: "';
echo "{$email_address}";
echo '"';
?>
Run Code Online (Sandbox Code Playgroud)
我不知道如何开始,但我希望帖子中的数据首先进入课堂.因此,如果我创建一个名为registeredUser的类,我将如何从表单中获取该数据?