php的一点安全小提示

对于用户提交表单,不要相信只能提交表单让你选择的那么几项,对于有心的用户来说,
客户端能够提交任何数据作为$_POST['value']的值,为了正确过滤数据,我们需要利用
switch语句来处理:
<?php
                                                                                                                                               
$clear = array();
                                                                                                                                              
switch($_POST['select']) {
    case 'select1':
    case 'select2':
    ......
    ......
    ......
    $clear['select'] = $_POST['select']
    break;
                                                                                                                                              
    default: ...
    break;
}
?>
                                                                                                                                              
对于由用户在客户端输入的数据,永远不能假定用户都是正确的,说不定他会故意输入错误
的数据,来引起你系统产生错误,一定要有过滤机制:
假如一个用户名只能由子母和数字组成:
<?php
                                                                                                                                              
$clear = array();
                                                                                                                                              
if(ctype_alnum($_POST['username'])) {
    $clear['username'] = $_POST['username'];
}
                                                                                                                                              
?>
                                                                                                                                              
尽管在这里可以使用正则表达式,但使用PHP内置函数更好一些,它产生错误的可能性远比你
自己所写而出错的可能性要低得多。
                                                                                                                                              
对于一些重要操作函数,要尽量地隐藏,不必要的一定不要暴露,能够加密最好。
                                                                                                                                              
严格作好防注入攻击的准备
                                                                                                                                              
对于代码与外部系统的接合,一定要注意数据的来源和目的地,随时能够跟踪数据。
                                                                                                                                              
代码能精简就不要复杂,复杂性的提高也让代码的内在危险性高了不少。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值