首页 > 其他分享 >彻底取消unigui的/server页面及扩展应用(78)

彻底取消unigui的/server页面及扩展应用(78)

时间:2023-12-29 16:55:51浏览次数:26  
标签:ToLower unigui ARequestInfo URI server AResponseInfo copy 78

https://www.cnblogs.com/qiufeng2014/p/14779399.html

unigui的应用默认会在/server显示相关信息,unigui编译的应用能不能简单设置就可以取消/server页面?

经验证,在UniServerModule.UniGUIServerModuleHTTPCommand拦截/server就可以取消server页面:

procedure TUniServerModule.UniGUIServerModuleHTTPCommand(
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo;
  var Handled: Boolean);
begin
  if ARequestInfo.URI.ToLower='/server' then
    begin
       Handled := true;
       AResponseInfo.ResponseNo:=405;
       AResponseInfo.CloseConnection:=true;
       AResponseInfo.ContentText :='Access denied';
       AResponseInfo.CloseSession;
       exit;
    end;
end;

拦截处理前:

 拦截处理后:

 另外:可以扩展为拦截指定路径,提高服务端的安全性。

procedure TUniServerModule.UniGUIServerModuleHTTPCommand(ARequestInfo: TIdHTTPRequestInfo;
  AResponseInfo: TIdHTTPResponseInfo; var Handled: Boolean);
begin
    if (length(ARequestInfo.URI)>1) and //放行指定的白名单
    (copy(ARequestInfo.URI.ToLower,1,4)<>'/ext') and //放行指定的白名单
    (copy(ARequestInfo.URI.ToLower,1,4)<>'/uni') and //放行指定的白名单
    (copy(ARequestInfo.URI.ToLower,1,7)<>'/handle') and //放行指定的白名单
    (copy(ARequestInfo.URI.ToLower,1,6)<>'/cache') and //放行指定的白名单
    (copy(ARequestInfo.URI.ToLower,1,2)<>'/m') then //放行指定的白名单
{
    if (copy(ARequestInfo.URI.ToLower,1,7)='/server') or //拦截/server
    (copy(ARequestInfo.URI.ToLower,1,2)='/ui') or //拦截/ui
    (copy(ARequestInfo.URI.ToLower,1,6)='/files') or //拦截/files
    (copy(ARequestInfo.URI.ToLower,1,13)='/uploadfolder') then //拦截/uploadfolder
}
    begin
      Handled := true;
      AResponseInfo.ResponseNo:=405;
      AResponseInfo.CloseConnection:=true;
      AResponseInfo.ContentText :='Access denied';// '<h1>Access denied</h1>';
      AResponseInfo.CloseSession;
      exit;
    end;
end;

 

标签:ToLower,unigui,ARequestInfo,URI,server,AResponseInfo,copy,78
From: https://www.cnblogs.com/tulater/p/17935236.html

相关文章

  • 【HBase】:Could not start ZK with 3 ZK servers in local mode deployment.
    CouldnotstartZKwith3ZKserversinlocalmodedeployment.Abortingasclients(e.g.shell)willnotbeabletofindthisZKquorum.控制台报错:这个错误表明在启动HBase时,尝试以本地模式部署(localmodedeployment)的方式启动ZooKeeper失败。HBase中的ZooKee......
  • SQLserver数据库自动备份怎么做
    SQLserver数据库自动备份怎么做?既然SQLServer数据库对于企业来说如此重要,我们就需要通过备份的方式来保护它的安全。然而定期手动执行备份任务的话可能又觉得比较麻烦,那么SQLserver数据库自动备份怎么做呢?一般来说,我们可以借助这3个方法来自动执行数据库备份任务,解放双手,无需人......
  • VMware vCenter Server 8.0U2 发布 - 集中式管理 vSphere 环境
    VMwarevCenterServer8.0U2发布-集中式管理vSphere环境2023-09-21,北京时间22日凌晨vSphere8.0Update2正式发布。作者主页:sysin.orgvSphere8.0U2新增功能,请访问:VMwarevSphere8Update2新增功能VMwarevCenterServer是一款高级服务器管理软件,提供了一个集中式......
  • VMware vCenter Server 8.0U1d - 集中式管理 vSphere 环境
    VMwarevCenterServer8.0U1d-集中式管理vSphere环境作者主页:sysin.orgVMwarevCenterServer是一款高级服务器管理软件,提供了一个集中式平台来控制vSphere环境,以实现跨混合云的可见性。简化且高效的服务器管理什么是vCenterServer?实现集中式可见性、简化且高效的大规模......
  • Docker安装sqlserver-2019(已做持久化)
    Docker安装sqlserver-2019一.新建挂载目录并赋权mkdirsqlservercdsqlservermkdir-p/data/mssql#给目录赋予写的权限,不然在容器启动的时候,文件无法挂载chmod-R777./data/mssql二.准备docker-compose文件#在预先创建的sqlserver目录下vidocker-compose.yml#写入......
  • OS-Ubuntu-Server-Connect to Wi-Fi From Terminal on Debian 11/10 with WPA Supplic
    ConnecttoWi-FiFromTerminalonDebian11/10withWPASupplicantLastUpdated:November8th,2022XiaoGuoan(Admin)31CommentsDebianThistutorialisgoingtoshowyouhowtoconnecttoWi-FinetworkfromthecommandlineonDebian11/10serverandd......
  • SQL Server with(nolock) 学习
     1.with(nolock)使用方法问题:由于数据量过大,会产生数据锁死问题解决方法:目的就是查询是不锁定表,从而达到提高查询速度的目的。SELECTCONVERT(VARCHAR(100),VW_BaoBiaoShuJu.LsTime,23)ASDateNow,COUNT(VW_BaoBiaoShuJu.ID)ASTaskNums,SUM......
  • 添加一个SQL Server身份验证方式
    关键几步如下,特别是最后一步,记得勾选SQLServer和Windows.    参考网址:如何在SQLSERVER的windows身份验证添加一个SQLServer身份验证方式_sqlserverwindows身份验证添加-CSDN博客 ......
  • 畅捷通的 Serverless 探索实践之路
    作者:计缘,阿里云云原生架构师畅捷通介绍畅捷通是中国领先的小微企业财税及业务云服务提供商,成立于2010年。畅捷通在2021年中国小微企业云财税市场份额排名第一,在产品前瞻性及行业全覆盖方面领跑市场,位居中国小微企业云财税厂商矩阵领军象限前列。作为专注小微企业云服务、软件提......
  • 畅捷通的 Serverless 探索实践之路
    作者:计缘,阿里云云原生架构师畅捷通介绍畅捷通是中国领先的小微企业财税及业务云服务提供商,成立于2010年。畅捷通在2021年中国小微企业云财税市场份额排名第一,在产品前瞻性及行业全覆盖方面领跑市场,位居中国小微企业云财税厂商矩阵领军象限前列。作为专注小微企业云服务、软......