描述:
STDMETHODIMP CUserInfo::get_ExpirationDate(DATE* pVal)
{
// TODO: 在此添加实现代码
*pVal=DATE(COleDateTime(expirationdate));
return S_OK;
}
STDMETHODIMP CUserInfo::put_ExpirationDate(DATE newVal)
{
// TODO: 在此添加实现代码
expirati />
return S_OK;
}
以上是userinfo组件的部分代码,user组件有个list属性是userinfo,部分代码如下:
STDMETHODIMP CUser::get_List(IDispatch** pVal)
{
// TODO: 在此添加实现代码
userinfo.CopyTo((IUserInfo**)pVal);
return S_OK;
}
STDMETHODIMP CUser::put_List(IDispatch* newVal)
{
// TODO: 在此添加实现代码
userinfo=(IUserInfo*)newVal;
return S_OK;
}
STDMETHODIMP CUser::Edit(void)
{
// TODO: 在此添加实现代码
....
DATE temptm;
COleDateTime tempot;
userinfo->get_ExpirationDate(&temptm);
tempot=COleDateTime(temptm);
tempot.GetAsDBTIMESTAMP(cfg.m_EofTm);
...
}
如果在ASP代码里写:
user.list.expirati />
user.edit
IIS就会宕了
但
mm=request("expirationdate")
user.list.expirati />
user.edit
就不会有问题,也就是说可能某个地址不能安全传递,应该如何改呢?
解决方案1:
把expirationdate属性改成VARIANT类型