如何避免用户在我的表单中输入 php 代码

发布于 2024-09-16 01:50:45 字数 388 浏览 8 评论 0原文

如何阻止用户在我的表单中输入

我正在使用 urlencode(),然后在将数据回显到我的页面时使用 urldecode(),最好的做法是什么?

更新:

写入数据库

htmlentities (urlencode($_POST['postmessage']));

我正在使用文本 urlencoded: I am using:

<?php echo htmlentities (urldecode($row['content'])) ?>

以回显保存的数据。这样就够了吗??

How can I stop users entering <?php ?> into my forms.

I am using urlencode() and then using urldecode() when echoing data onto my page what is the best thing to do??

UPDATE:

I am writing to the database with the text urlencoded:

htmlentities (urlencode($_POST['postmessage']));

I am using:

<?php echo htmlentities (urldecode($row['content'])) ?>

to echo the saved data. Is that enough??

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

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

发布评论

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

评论(3

话少心凉 2024-09-23 01:50:45

我建议您使用 HTML Purifier

HTML Purifier 是一个符合标准的
用 PHP 编写的 HTML 过滤器库。
HTML Purifier 不仅会删除所有
恶意代码(更广为人知的名称是
XSS)经过彻底审核,
安全但宽容的白名单,它
还将确保您的文件
符合标准,仅此而已
可以通过全面的
了解 W3C 规范。

I would suggest you to use the HTML Purifier for that:

HTML Purifier is a standards-compliant
HTML filter library written in PHP.
HTML Purifier will not only remove all
malicious code (better known as
XSS) with a thoroughly audited,
secure yet permissive whitelist, it
will also make sure your documents are
standards compliant, something only
achievable with a comprehensive
knowledge of W3C's specifications.

一百个冬季 2024-09-23 01:50:45

好吧,你可以去掉所有不属于 URL 的字符

$var = filter_var($url, FILTER_SANITIZE_URL);

然后你可以检查它是否是一个有效的 URL

$var = filter_var($url, FILTER_VALIDATE_URL);
if($var == false)
    die("Bad URL");

Well, you can get rid of all the characters that don't belong in a URL

$var = filter_var($url, FILTER_SANITIZE_URL);

Then you can check that it is a valid URL

$var = filter_var($url, FILTER_VALIDATE_URL);
if($var == false)
    die("Bad URL");
淡水深流 2024-09-23 01:50:45

你用代码做什么?执行它?
当您回显 php 代码时,无需担心服务器端...您宁愿执行 html_entity_encode 来防止您的网站被用户帖子搞乱或被 iframes/javascripts 注入

what are you doing with the code? execute it?
when you echo the php code theres no need to worry server side... you rather want to do html_entity_encode to keep your website from beeing messed up or beeing injected by iframes/javascripts by user posts

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