开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (2)
标签 (3)
master
v1.21dev
V1.2.6
V1.2.5
v1.2
master
分支 (2)
标签 (3)
master
v1.21dev
V1.2.6
V1.2.5
v1.2
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (2)
标签 (3)
master
v1.21dev
V1.2.6
V1.2.5
v1.2
foxcms
/
index.php
foxcms
/
index.php
index.php 5.01 KB
一键复制 编辑 原始数据 按行查看 历史
码手lion 提交于 2026年05月17日 10:42 +08:00 . 自定义表单调整
<?php
// [ 应用入口文件 ]
namespace think;
if (version_compare(PHP_VERSION, '7.1', '<') || version_compare(PHP_VERSION, '8.0', '>=')) {
$vinfo = require_once('./data/update/version/info.php');
$pve = require_once('./static/warn/php_version_error.html');
echo $pve;
exit();
}
define('INSTALL_PATH', str_replace('\\', '/', dirname(__FILE__))); //安装路径
if (file_exists(INSTALL_PATH . "/install/") && !is_file(INSTALL_PATH . '/install/install.lock')) { //没有安装
header('Location:/install/index.php');
exit();
}
$base = require('./config/cfg/base.php');
try {
require __DIR__ . '/vendor/autoload.php';
} catch (\Throwable $e) {
if ($base['frame_exception'] == '0') {
$pve = require_once('./static/warn/php_version_error.html');
echo $pve;
exit();
}
}
// 引入验证文件
require_once __DIR__ . '/app/validate/BaseValidate.php';
// 实例化 BaseValidate 类
$validator = new \app\validate\BaseValidate();
// 全局参数验证
$validator->validateGetParams();
$validator->validateCookieParams();
$validator->validatePostData();
// 全局Referer 头验证
$_SERVER['HTTP_REFERER'] = $validator->validateReferer() ?? '';
//检查
$seo = require('./config/cfg/seo.php');
if ($seo['pseudo_status'] == 1) {
$serverSoftware = strtolower($_SERVER['SERVER_SOFTWARE']);
if (strpos($serverSoftware, 'apache') !== false) {
$wFile = __DIR__ . "/.htaccess";
$contet = '<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:1ドル]
</IfModule>';
config($contet, $wFile);
} elseif (strpos($serverSoftware, 'nginx') !== false) {
} elseif (strpos($serverSoftware, 'iis') !== false) {
$wFile = __DIR__ . "/web.config";
$contet = '<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="FoxPage" enabled="true" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>';
config($contet, $wFile);
}
}
// 执行HTTP应用并响应
$http = (new App())->http;
define("RUNTIME", __DIR__);
// 站点关闭检查(只对前端生效)
if ($base["status"] == 0) {
require_once('./static/warn/close.php');
exit();
}
// 获取前端插件应用信息
$applyInfo = getFrontendApplyInfo();
if ($applyInfo['is_apply']) {
// 插件应用,指定应用名
$http->name($applyInfo['app_name']);
// 手动创建 Request 对象并设置 pathinfo
$refHttp = new \ReflectionClass($http);
$propApp = $refHttp->getProperty('app');
$propApp->setAccessible(true);
$app = $propApp->getValue($http);
$request = $app->make('request', [], true);
// 计算 pathinfo(去掉应用名部分)
$uri = $_SERVER["REQUEST_URI"];
$uri = strtok($uri, '?');
$uri = ltrim($uri, '/');
// 移除应用名部分,得到真正的 pathinfo
$pathinfo = preg_replace('/^' . $applyInfo['app_name'] . '\//', '', $uri);
// 设置 pathinfo
$ref = new \ReflectionClass($request);
$propPathinfo = $ref->getProperty('pathinfo');
$propPathinfo->setAccessible(true);
$propPathinfo->setValue($request, $pathinfo);
$propPathinfo->setAccessible(false);
$_SERVER['PATH_INFO'] = '/' . $pathinfo;
$response = $http->run($request);
} else {
// 非插件应用,运行前端home应用
$response = $http->name('home')->run();
}
$response->send();
$http->end($response);
/**
* 配置伪静态
*/
function config($content, $file)
{
if (file_exists($file)) {
$dh = file_get_contents($file);
if (empty($dh)) {
file_put_contents($file, $content);
}
} else {
file_put_contents($file, $content);
}
}
/**
* 获取前端插件应用信息
*/
function getFrontendApplyInfo()
{
// 前端允许访问的插件应用(白名单)
$frontendApplys = ['plus', 'api', 'count', 'lang'];
$uri = $_SERVER["REQUEST_URI"];
$uri = strtok($uri, '?');
$uri = ltrim($uri, '/');
$uriArr = explode("/", $uri);
$app_name = $uriArr[0] ?? null;
if (!$app_name) {
return ['is_apply' => false, 'app_name' => null];
}
// 检查是否是前端允许访问的插件应用
if (in_array($app_name, $frontendApplys)) {
return ['is_apply' => true, 'app_name' => $app_name];
}
return ['is_apply' => false, 'app_name' => null];
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

🔥FoxCMS是一套可免费商用开源的内容管理系统,采用PHP+MySQL架构。内置企业常用的内容模型,如单页、文章、产品、图集、视频、反馈、下载等,并配备丰富的模板标签及强大的SEO和伪静态优化机制。无需复杂编程技能,仅需掌握HTML即可快速构建出多元化的应用场景,实现内容的高效管理。系统支持多语言、表单设计、访客统计、消息通知、云存储服务等,更多应用插件持续上架中,欢迎大家提出宝贵意见和建议。
暂无标签
GPL-3.0
使用 GPL-3.0 开源许可协议
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
PHP
1
https://gitee.com/wfdaj/foxcms.git
git@gitee.com:wfdaj/foxcms.git
wfdaj
foxcms
FoxCMS黔狐内容管理系统
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /