清洁& PHP 中的安全字符串

发布于 2024-10-07 22:27:44 字数 725 浏览 3 评论 0原文

可能的重复:
PHP:终极清洁/安全功能
使用 PHP 清理用户输入的最佳方法是什么?< /a>

我应该在我的函数中添加什么,以确保传递它的每个字符串都是“服务器友好的”?我使用这个小函数来检查包含姓名、电子邮件地址和 ID 的输入。

   function checkInput($str) {
        $str = @strip_tags($str);
        $str = @stripslashes($str);
        $str = mysql_real_escape_string($str);
        return $str;
    }

Possible Duplicates:
PHP: the ultimate clean/secure function
What's the best method for sanitizing user input with PHP?

What should I add to my function to be sure that every string that passes it will be 'server-friendly'? I use this small function to check inputs that contains names, e-mail addresses and ids.

   function checkInput($str) {
        $str = @strip_tags($str);
        $str = @stripslashes($str);
        $str = mysql_real_escape_string($str);
        return $str;
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

无所谓啦 2024-10-14 22:27:44

我会删除一些特殊字符,它们在此类字符串中无关,可用于代码注入,例如 $ % # < > |等等。

$invalid_characters = array("$", "%", "#", "<", ">", "|");
$str = str_replace($invalid_characters, "", $str);

I would remove some special characters thet have nothing to do in such strings and could be used for code injections, like $ % # < > | and so on.

$invalid_characters = array("$", "%", "#", "<", ">", "|");
$str = str_replace($invalid_characters, "", $str);
北城挽邺 2024-10-14 22:27:44

我应该在函数中添加什么,以确保传递它的每个字符串都是“服务器友好的”?

这应该有效:

function checkInput($str) {
  return "";
}

有关更详细的解释,请参阅此处

What should I add to my function to be sure that every string that passes it will be 'server-friendly'?

This should work:

function checkInput($str) {
  return "";
}

For a more detailed explanation, see here

记忆で 2024-10-14 22:27:44

服务器友好是什么意思?

对于电子邮件地址等验证,请查看数据过滤

为了确保字符串对于数据库使用转义是安全的,例如 mysql_real_escape_string

输出数据时使用 htmlspecialchars

What does server friendly mean?

For validation such as email addresses take a look at data filtering.

To make sure a string is safe for database's use escaping such as mysql_real_escape_string

When outputting data use htmlspecialchars

夏见 2024-10-14 22:27:44

关于数据库,请检查 PDO 占位符。它们是跨 DBMS 的。

About DataBase, check PDO placeholders. They are cross DBMS.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文