gpt4 book ai didi

php - 使用 PHP 将字符串插入 MySQL 表和 HTML 页面的安全性

转载 作者:太空宇宙 更新时间:2023-11-03 11:06:21 24 4
gpt4 key购买 nike

现在我正在使用以下函数来保护我的字符串:

  function secure($data)
{
$data = trim($data);
$data = htmlspecialchars($data);
$data = str_replace("'", '"', $data);
$search = array(chr(0xC2).chr(0xA0),chr(0xC2).chr(0x90),
chr(0xC2).chr(0x9D),chr(0xC2).chr(0x81),
chr(0xC2).chr(0x8D),chr(0xC2).chr(0x8F),
chr(0xC2).chr(0xAD),chr(0xAD));
$data = str_replace($search, "", $data);
return $data;
}

这个函数是否足以保护字符串?

您将使用哪些方法来保护您的字符串以插入 MySQL 并防止 HTML 页面 中的 XSS 等错误?

最佳答案

您只需要 PDO! Prepared statements and stored procedures .

如果你想从你的代码中删除 javascript

  • 看看htmlpurifier .

  • 使用正则表达式:$html = preg_replace('#<script(.*?)>(.*?)</script>#is', '', $html);

  • 或使用 DOMDocument

    $doc = new DOMDocument();
    $doc->loadHTML($html); // load the HTML string we want to strip

    $script_tags = $doc->getElementsByTagName('script'); // get all the script tags

    $length = $script_tags->length;

    for ($i = 0; $i < $length; $i++) {
    $script_tags->item(0)->parentNode->removeChild($script_tags->item(0)); // for each tag, remove it from the DOM

    }

    $no_script_html_string = $doc->saveHTML(); // get the HTML string back

关于php - 使用 PHP 将字符串插入 MySQL 表和 HTML 页面的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11689438/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com