邪恶八进制信息安全团队技术讨论组's Archiver

pub!1c 2005-12-16 07:52

[转载]PHP和ASP对象的等价关系

信息来源:邪恶八进制信息安全团队([url]www.eviloctal.com[/url])


1)写HTML




[quote]
asp: Response.Write(str)

hp: print $str;

echo $str;

rint_r $debug_str;
[/quote]



2) Form, Cookie and QueryString变量

asp: 可以用Request object.

hp: 这些变量是自动提供的作为一个全局变量,如果在PHP.ini文件中这样配置的话:

[quote]
variables_order="EGPCS"

register_globals=On
[/quote]

为了安全,我将不允许register_globals (设置它为OFF). 然后变量仅仅在数组中使用:

[quote]
$HTTP_POST_VARS,
$HTTP_COOKIE_VARS and $HTTP_GET_VARS.

[/quote]


3)Redirecting to another location

[quote]
asp: Response.Redirect(url)
hp: Header("Location: $url");

[/quote]


4) Cookie 处理

[quote]
asp: Response.Cookies(cookiename) = newval
avar = Request.Cookies(cookiename)
hp: setcookie($cookiename, $newval);
$avar = $HTTP_COOKIE_VARS[$cookiename];

[/quote]


5)Application变量
[quote]
asp: Application(appvarname)

hp: 不提供,可以用数据库模拟
[/quote]
6)Session 变量

[quote]
asp: Session(sessionname) = newval
avar = Session(sessionname)
[/quote]



hp: 在PHP4或以后的版本中, 我们确定变量作为一个session在ession_register($sessionname), 然后,我们调用session_start( ),在开始使用的.php 页恢复session变量值。例如:

[quote]
ession_register('avar');

$avar = 99;

ession_start();

rint $avar;

[/quote]


7)Form 变量

[quote]
asp: Request.Form("formvar")

Request.QueryString("getvar")

hp: $HTTP_POST_VARS["formvar"];

$HTTP_GET_VARS["getvar"];
[/quote]



GET and POST 变量可以交替的自动地修改到PHP变量,这是不安全地方法。

8)Server 变量

asp: 这有许多服务器变量,可以看ASP文档. 一个例子:

[quote]
Request.ServerVariables("HTTP_HOST")

[/quote]


hp: 作为ISAPI模式, 服务器变量存储在$HTTP_SERVER_VARS数组里。作为CGI, 它们存贮在环境变量里, 用$HTTP_ENV_VARS数组或getenv( ),可以得到。一个例子:

[quote]
$HTTP_SERVER_VARS["HTTP_HOST"]
using ISAPI module

$HTTP_ENV_VARS["HTTP_HOST"]
using CGI module
[/quote]



9)数据库访问

asp: 一般用ado技术

hp: ADO可以使用adodb库来模拟,这个库等价于ado。限制是,目前支持只读性光标和前滚光标。(注解)也可以直接调用com库。

10)Buffering

[quote]
asp: Response.Buffer = true

Response.Write("abc");

Response.Flush()

hp: ob_start();

rint "abc";

ob_end_flush();
[/quote]



11) Script Timeout

asp: 时间级是秒级:

[quote]
Server.ScriptTimeout(240)

[/quote]


hp: 时间级是秒级:


et_time_limit(240);

页: [1]
© 1999-2008 EvilOctal Security Team