【发布时间】:2014-06-18 15:20:38
【问题描述】:
我有一个免费托管在 atspace.com 的网络服务器,其中包含一个名为 test_empty.php 的空(字面意思是空的)php 脚本。
当我用任何参数调用它时
myserver/test_empty.php?random_string
正如预期的那样,它加载了一个空白页面。
但在我这样称呼它的特定情况下:
myserver/test_empty.php?random_string_containing_varchar
它将我重定向到 404 页面。
在这里试试 - 第一个有效,另一个无效:
http://playerdatabase.atspace.eu/test_empty.php?anything_you_want_to_write_is_ok
http://playerdatabase.atspace.eu/test_empty.php?unless_it_contains_VARCHAR
由于我正在为不同的客户开发软件,因此我希望他们能够将 atspace 用作主机,我宁愿找不到针对此问题的自定义解决方法。
有什么想法吗?快把我逼疯了!
PS:我不知道这是怎么玩的,但这只发生在免费版的 atspace 中。如果我将脚本托管在付费帐户中,则不会发生这种情况。
我已经联系了他们的客户支持,但无济于事。
【问题讨论】:
-
你可能有一个愚蠢的/愚蠢的/assinine 安全系统,它查找与 sql 相关的关键字并假设你正在执行 sql 注入攻击。你可以玩它并尝试其他的东西,比如
drop和select和insert等等。 -
@Marc 你说得对,这是一个 sql 注入保护.. 我花了一整天的时间在这件事上..!但是为什么要防止“VARCHAR”?这不像我在调用 [link]playerdatabase.atspace.eu/test_empty.php?username=my_name;DROP TABLE users;
-
因为人们不能被逼着修复他们的代码,所以他们贴上无用的创可贴,而忽略了浸透他们的鲜血。当然,也许它是一个共享服务器,他们假设某些用户真的很愚蠢,并且到处都有
exec($_GET['killme'])之类的代码。
标签: php forms field http-status-code-404 varchar