【发布时间】:2011-05-12 12:04:11
【问题描述】:
除了以下之外,还有更简单的方法可以安全地提取提交的变量吗?
if(isset($_REQUEST['kkld'])) $kkld=mysql_real_escape_string($_REQUEST['kkld']);
if(isset($_REQUEST['info'])) $info=mysql_real_escape_string($_REQUEST['info']);
if(isset($_REQUEST['freq'])) $freq=mysql_real_escape_string($_REQUEST['freq']);
(还有:你会在这种情况下使用isset() 吗?)
【问题讨论】:
-
伙计们,我知道你们都想获得更多的声誉,但为什么没有人解释这是一个奇怪的想法呢?并且只有必要的数据应该被清理,而不是全部。
-
@zerkms,我不认为这是一个奇怪的想法,因为它在某些情况下会派上用场。但是我也同意,除了少数构成查询的数据之外,并非所有数据都应该进行清理。
-
@Starx:您不应该依赖任何神奇的方式来保护数据免受任何类型的攻击。在每种特定情况下,您都应该应用必要的功能。 IE:何时(且仅当)您需要执行 sql 查询 - 您仅将
mysql_real_escape_string()应用于查询中使用的变量。 -
@zerkms,当您说
Magic way时,您到底指的是什么? -
@Starx:该主题的主要思想是获得一些神奇的代码,使变量在查询中可以安全使用;-)
标签: php mysql mysql-real-escape-string