douchanxiu5636 2017-07-24 22:34
浏览 55
已采纳

将PHP中的_GET var字符串清除为仅字母

I have the common used function php get to include a file and display it as a page like this

index.php?F=contact
<?php
$file=$_GET['F'];
include('the_files/'.$file.'.php');
?>
This will display file contact.php

Because of security I want to filter the

$file=$_GET['F'];

with some kind of code so only text without simbols without slashes will get in the INCLUDE

I tried with

 <?php
    $clean_file=mysqli_real_escape_string($clean_file,$_GET['F']);
    include('the_files/'.$clean.'.php');
    ?>

But it seems like this is only to clean MySQLi...

Any idea how to do that?

  • 写回答

4条回答 默认 最新

  • douxie9347 2017-07-24 22:41
    关注

    Try:

    $file = preg_replace('/[^a-z_\-]/i', '', $_GET['F']);
    

    Of course, I would just run a test and send them to IC3, if they're trying to hack your page.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本