2011-10-08 75 views
0

这主要是用于单选按钮,但是;如果您在浏览器中编辑网页的原始html并更改了收音机的值,会发生什么?如果您决定通过使用php的表单发送该信息,那么单选按钮的更改值将被发送,还是仅检索其原始值?我会测试这个假设,但apache不会正确安装。客户端网页编辑问题?

回答

0

HTML页面提交的值是服务器接收的值。这就是为什么您需要在依赖它之前验证数据服务器端的原因。你应该假设每个用户都是恶意黑客。

$acceptable_values = array('0', '1', '2'); 
if(in_array($_POST['radio'], $acceptable_values)) { 
    //Radio button value is valid 
} else { 
    //Radio button is not valid 
    die('Nice Try!'); 
} 

或者你可以有单选按钮的值设置为默认值,如果它不包含有效的值...

$acceptable_values = array('0', '1', '2'); 
if(in_array($_POST['radio'], $acceptable_values)) { 
    $radio = $_POST['radio']; 
} else { 
    $radio = '0'; //Default 
} 

重要的是要注意,使用的工具的发明类似Firebug(很重要壁虎)和Inspector(webkit),您不需要下载,修改和查看HTML页面。您可以在浏览器中进行编辑。

+0

谢谢!你刚刚解决了我要问的问题。 – Semirix

+0

@Codeboy很高兴能帮到你! –

0

您可以从浏览器发送任何您喜欢的信息,即可完全控制。所以是的,你可以从任何形式发送任何东西 - 这就是为什么客户端的健全检查是无用的。

试用tamperdata(Firefox插件)可以查看和编辑您的浏览器生成的任何POST。或者您可以(如您所说)使用萤火虫(另一个Firefox插件)编辑任何网站的代码,并在浏览器中查看它。

+0

如果你想的是如何工作的现场演示,头部到http://www.hackthissite.org/做现实的任务1. – lynks

+0

客户端检查不是没用的。只要他们不是最后一道防线。它们对于警告“非邪恶”用户等待表单提交以解决问题非常有用。当然你仍然需要服务器端检查,但是从UI的角度来看,客户端检查是很棒的。 – Kibbee

0

任何人都可以向任何网站发布任何内容。这是网络中最大的安全问题。这就是为什么你应该怀疑,验证和SANITIZE任何用户输入数据。由于PHP 5.2如果我没有记错,你有功能filter_var($var_to_be_filter, FILTER_TO_BE_APPLIED);

这样,你可以避免2安全问题SQL InjectionXSS (Cross Site Scripting)。不幸的是,你需要考虑更多的安全风险。 CSRFCookie HijackingExternal File AccessRemote File InclusionSession FixationDirectoy traversal