我想允许用户在我的论坛上为他们的个人资料使用他们自己的样式表,但我担心可能存在安全漏洞。有人有清理CSS的任何提示吗?基本流程:用户在表单中输入CSS->保存到DB->输出为内联CSS 最佳答案 HTMLPurifier与CSSTidy做你正在寻找的东西。HTMLPurifier主要用于清理HTML,但也可以选择使用CSSTidy提取样式block。HTMLPurifier文档中有一个示例(可惜,我已经用完了每个帖子的两个链接。)还有一个:require_once'./htmlpurifier/library/HTMLPurifie
是否需要对用户数据执行任何转义例程才能在PHP的header()函数中使用它?例如,对于MySQL,我在将用户数据发送到数据库之前对用户数据运行mysql_real_escape_string(),对于HTML中的输出,我运行htmlspecialchars()...两者都包含在我自己的自定义函数中,以便首先进行一些其他处理。但是对于PHP的header()函数,需要做什么呢?是否有任何我应该转义的危险字符?我正在尝试做这样的事情......将查询字符串附加到header()重定向到不同的页面if(strlen($_SERVER['QUERY_STRING'])>0){$query_s
是否需要对用户数据执行任何转义例程才能在PHP的header()函数中使用它?例如,对于MySQL,我在将用户数据发送到数据库之前对用户数据运行mysql_real_escape_string(),对于HTML中的输出,我运行htmlspecialchars()...两者都包含在我自己的自定义函数中,以便首先进行一些其他处理。但是对于PHP的header()函数,需要做什么呢?是否有任何我应该转义的危险字符?我正在尝试做这样的事情......将查询字符串附加到header()重定向到不同的页面if(strlen($_SERVER['QUERY_STRING'])>0){$query_s
引用PHP5中的filter_var函数:我访问过它的文档:http://php.net/manual/en/filter.filters.sanitize.php,但我仍然有这个问题:确切有何不同?为了更简单的说明,请提供一个例子。 最佳答案 标志在differentpageofthedocumentation中解释。.FILTER_FLAG_STRIP_LOW去除输入中数值nullbytes及其他controlcharacters例如ASCII铃。如果您打算将输入传递给另一个使用null-terminatedstrings的应用
引用PHP5中的filter_var函数:我访问过它的文档:http://php.net/manual/en/filter.filters.sanitize.php,但我仍然有这个问题:确切有何不同?为了更简单的说明,请提供一个例子。 最佳答案 标志在differentpageofthedocumentation中解释。.FILTER_FLAG_STRIP_LOW去除输入中数值nullbytes及其他controlcharacters例如ASCII铃。如果您打算将输入传递给另一个使用null-terminatedstrings的应用
我想将一个字符串清理到一个URL中,所以这就是我基本上需要的:必须删除除字母数字字符和空格和虚线之外的所有内容。空格应转换为破折号。例如。This,istheURL!必须返回this-is-the-url 最佳答案 functionslug($z){$z=strtolower($z);$z=preg_replace('/[^a-z0-9-]+/','',$z);$z=str_replace('','-',$z);returntrim($z,'-');} 关于php-仅使用单连字符定界符将
我想将一个字符串清理到一个URL中,所以这就是我基本上需要的:必须删除除字母数字字符和空格和虚线之外的所有内容。空格应转换为破折号。例如。This,istheURL!必须返回this-is-the-url 最佳答案 functionslug($z){$z=strtolower($z);$z=preg_replace('/[^a-z0-9-]+/','',$z);$z=str_replace('','-',$z);returntrim($z,'-');} 关于php-仅使用单连字符定界符将
我希望确保我的小程序安全,以便潜在的恶意用户无法查看服务器上的敏感文件。$path="/home/gsmcms/public_html/central/app/webroot/{$_GET['file']}";if(file_exists($path)){echofile_get_contents($path);}else{header('HTTP/1.1404NotFound');}在我的脑海中,我知道诸如“../../../../../../etc/passwd”之类的输入会很麻烦,但想知道我还应该输入哪些其他恶意输入期望以及如何预防它们。 最佳答案
我希望确保我的小程序安全,以便潜在的恶意用户无法查看服务器上的敏感文件。$path="/home/gsmcms/public_html/central/app/webroot/{$_GET['file']}";if(file_exists($path)){echofile_get_contents($path);}else{header('HTTP/1.1404NotFound');}在我的脑海中,我知道诸如“../../../../../../etc/passwd”之类的输入会很麻烦,但想知道我还应该输入哪些其他恶意输入期望以及如何预防它们。 最佳答案
这个问题在这里已经有了答案:HowcanIsanitizeuserinputwithPHP?(17个回答)关闭3个月前。如何通过PHP清理$_GET变量中的数据?我通过strip_tags只清理了GET中的一个变量。我不确定是否应该清理所有内容,因为上次将数据放入Postgres时,使用pg_prepare最容易解决问题。 最佳答案 Howdoyousanitizedatain$_GET-variablesbyPHP?您不清理$_GET中的数据。这是PHP脚本中常用的方法,但它是完全错误的*。您的所有变量都应保持纯文本形式,直到您将