我正在努力转换一些古老的.php3代码.在古老的盒子上运行古老的.php3版本时一切正常.当我单击重写按钮时,它会进入重写if块.
.php3
<?
if($rewrite) {
//here is therewrite code
}
<input class="smButton" type="submit" name="rewrite" value="Save Changes">
Run Code Online (Sandbox Code Playgroud)
.PHP
<?php
if($rewrite) {
//here is therewrite code
}
<input class="smButton" type="submit" name="rewrite" value="Save Changes">
Run Code Online (Sandbox Code Playgroud)
有什么明显的东西让我失踪吗?.php3版本中的某些内容设置了重写变量,但在新版本中它没有设置,除非我手动将其设置在.php文件的顶部.
希望这是足够的代码.我只是想知道什么可能导致两个版本之间的这种不同的行为.
Joh*_*nde 11
register_globals可能在PHP 3上开启,在你的新PHP版本中关闭(因为它应该是)
您必须替换$rewriteby $_POST['rewrite'],因为您的新PHP版本不会激活register_globals,它会将每个$_POST['x']和$_GET['x'](以及更一般地$_REQUEST['x'])转换为$x)
如果您有低质量的PHP代码(如果您多年没有维护它可能就是这种情况),这会导致一堆安全漏洞.
| 归档时间: |
|
| 查看次数: |
237 次 |
| 最近记录: |