我的网站最近遭到了一个无辜的代码的攻击:
<?php if ( isset( $ _GET['page'] ) ) { include( $ _GET['page'] . ".php" ); } else { include("home.php"); } ?>
那里没有SQL调用,因此我不担心SQL注入。但是,显然,SQL并不是唯一的注入方式。
该网站提供了解释以及避免代码注入的一些示例:http : //www.theserverpages.com/articles/webmasters/php/security/Code_Injection_Vulnerabilities_Explained.html
您如何保护该代码免于注入代码?
使用白名单,并确保页面在白名单中:
$whitelist = array('home', 'page'); if (in_array($_GET['page'], $whitelist)) { include($_GET['page'].'.php'); } else { include('home.php'); }