客户端网页编辑问题?

时间:2011-10-08 01:07:33

标签: php radio-button

这主要用于单选按钮,但是;如果您在浏览器中实时编辑了网页的原始html并更改了单选框的值,会发生什么?如果您决定通过使用php的表单发送该信息,则会发送单选按钮的更改值,还是仅仅检索其原始值?我会测试这个假设,但apache无法正常安装。

3 个答案:

答案 0 :(得分:0)

您可以从浏览器发送任何您喜欢的信息,您可以完全控制。所以,是的,您可以从任何形式发送任何内容 - 这就是客户端健全性检查无效的原因。

尝试篡改数据(Firefox插件)来查看和编辑浏览器发布的任何POST。或者你可以(如你所说)使用 firebug (另一个Firefox插件)编辑任何网站的代码,并在浏览器中查看。

答案 1 :(得分: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(gecko)和Inspector(webkit)等工具的发明,您无需下载,修改和查看HTML页面。您可以在浏览器中实时编辑它。

答案 2 :(得分:0)

任何人都可以向任何网站发布任何内容。这是网络中最大的安全问题。这就是为什么你应该对任何用户输入数据进行消息,验证和消毒。从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等。