Apple cms construction tutorial to build a movie website for free

How to quickly build a movie website in Linux environment. After searching on the Internet, I found that Apple CMS is open source and its functions meet the basic movie website requirements. The following is a record of the Apple CMS construction process.

How to build a free movie website? Free movie website Apple CMS construction tutorial

Tutorial How to quickly build a movie website in Linux environment. After searching on the Internet, I foundIt is open source and its functions meet the basic requirements of a movie website. The following is a record of the Apple CMS setup process. First, set up the LNMP environment on the server. You can also use various fool-proof panels for installation.

  • Windows platform: IIS/Apache/Nginx/etc. + PHP(5.5+) + MySQL(5.5+)
  • Linux/Unix platform: Apache/Nginx/etc. + PHP (5.5 +) + MySQL (5.5 +) (PHP must run in non-secure mode)
  • Note: Do not use PHP8 as there will be many errors in PHP8. It is recommended to install PHP7.2

What is Apple CMS

The Apple CMS program is a complete and powerful rapid website building system that runs in a PHP+MYSQL environment. After nearly years of development experience and technical accumulation, the Apple CMS program has gradually matured and has become a leader in the industry in terms of ease of use and functionality. The program is small in size, runs fast, and after optimizing the program code and efficient caching, it can be perfectly built with an ordinary virtual host, and the cost of building a website is very low. MVC-like template separation, built-in tags, custom function tag interface, and powerful custom collection functions, as long as you know HTML, you can easily make a personalized website. In terms of program ease of use and functionality, we have always actively adopted various good suggestions put forward by the majority of webmasters, and quickly responded to various emergency issues. Our service concept runs through it to ensure that every webmaster can deal with every link calmly.

Github source code:https://github.com/magicblack

Apple CMS:http://www.maccms.la

Apple cms online manual

Apple CMS Setup Tutorial Install Apple CMS

After logging in to the server via SSH, use the cd command to enter the web storage directory, which is generally /home/www

 cd /home/www 

After entering the www directory, start cloning and pulling the Apple CMS website source code.

 git clone https://github.com/magicblack/maccms10.git 
Apple cms construction tutorial to build a movie website for free
After the source code of the Apple CMS website is pulled, change the directory permissions. The current users and user groups with nginx access rights are both nginx. The directory of the Apple CMS needs to be set to be accessible to the nginx user.
 chown nginx:nginx -R /home/uzbox/maccms10 
Apple cms construction tutorial to build a movie website for free

Next, start the installation operation. Modify the server module in the configuration file in Nginx, change the website storage directory to /home/uzbox/maccms10, and then modify the location / root directory content. The specific modifications are as follows:

 # pseudo-static page location / { if (!-e $request_filename) { rewrite ^/index.php(.*)$ /index.php?s=$1 last; rewrite ^/admin.php(.*)$ /admin.php?s=$1 last; rewrite ^/api.php(.*)$ /api.php?s=$1 last; rewrite ^(.*)$ /index.php?s=$1 last; break; } }

The complete code of server.conf is:

#Domain name port 301 redirect https #uzbox.tk server { listen 80; listen [::]:80; server_name uzbox.tk www.uzbox.tk; return 301 https://uzbox.tk$request_uri; } #Website configuration core block server { listen 443 ssl http2; listen [::]:443 http2; server_name uzbox.tk; index index.php index.html index.htm; root /home/vod; include /etc/nginx/default.d/*.conf; # Load the configuration file of the default server block from /etc/nginx/default.d. # Config for 0-RTT in TLSv1.3 ssl_certificate /data/uzbox.tk.crt; ssl_certificate_key /data/uzbox.tk.key; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA2 56:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CH ACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5; ssl_early_data on; ssl_stapling_verify on; add_header Strict-Transport-Security "max-age=31536000"; # pseudo-static page location / { if (!-e $request_filename) { rewrite ^/index.php(.*)$ /index.php?s=$1 last; rewrite ^/admin.php(.*)$ /admin.php?s=$1 last; rewrite ^/api.php(.*)$ /api.php?s=$1 last; rewrite ^(.*)$ /index.php?s=$1 last; break; }

After Nginx is modified, restart the Nginx service or reboot the server and enter nginx -t Verify the configuration information.

Next, enter the website domain name configured in your Nginx to start installing Apple CMS-V10.

Apple cms construction tutorial to build a movie website for free

Click the blue button to agree to the agreement and install the system.

Apple cms construction tutorial to build a movie website for free

The directory permissions must be configured correctly, otherwise it will prompt that it cannot be read. For example, the user group of the Nginx service installed on the server is nginx, and then the user group and user of the directory where the Web site is stored must also be changed to nginx. The default folder permissions of the directory are 755.

PHP function extensions are here. If they are not installed, you need to use them on the server. dnf install Command installation. For specific installation methods, please refer to:Install PHP8

Apple cms construction tutorial to build a movie website for free

Click on the installation to start immediately. It only takes three steps to install Apple CMS. Next, change the admin.php file.

 

Apple cms construction tutorial to build a movie website for free
Apple cms construction tutorial to build a movie website for free

Directory Structure

  • application: Standard tp5 application directory, storing all models, controllers and configuration files of the program.
  • application/extra/maccms.php: All backend configuration parameters.
  • application/extra/addons.php: Configuration of installed third-party applications.
  • application/extra/domain.php: site group domain name configuration.
  • application/extra/timming.php: Custom task configuration.
  • application/extra/vodplayer.php: Player configuration installed.
  • application/extra/voddowner.php: Installed downloader configuration.
  • application/data/backup: Backup data directory, the background backup data is in this directory.
  • application/data/config: Background custom menu configuration.
  • application/data/install: Initial installation directory. If you need to reinstall, delete the install.lock file and re-enter the installation process.
  • application/route.php: Pseudo-static routing file. If the backend is inaccessible due to incorrect routing, delete this file and everything will be back to normal.
  • application/database.php: MySQL database connection configuration file.
  • addons: used to store the directory of third-party application plug-ins. Purchased plug-ins can be placed here.
  • template: Theme template directory, used to store front-end templates.
  • static: used to store static files such as default css and js.

Security Settings

In order to make the program safer, it is recommended to prohibit the following folders from running PHP program files.

  • /application: restrict PHP file access.
  • /addons: restrict php file access.
  • /extend : Restrict PHP file access.
  • /thinkphp: Restrict PHP file access.
  • /vendor : Restrict PHP file access.
  • /upload: Restrict PHP file access.

Nginx disables PHP script access in the directory:

It is forbidden to run PHP scripts in designated directories under Nginx. By adding configuration parameters in the server configuration, permission can be prohibited after locating by matching the location conditions.

Note: The following code must be placed above the PHP parsing code Fastcgi to be effective.

 
# Single directory prohibition location ~* ^/upload/.*\.(php|php5)$ { deny all; } # Multiple directories prohibition location ~* ^/(upload|vendor|thinkphp|extend|addons|application)/.*\.(php|php5)$ { deny all; }
 

At this point, Apple CMS has been installed and the framework of the Web site has been built. Next, you need to add various collection rules and front-end templates.

Apple cms construction tutorial installation template

Apple CMS does not have a front-end template by default. You need to make your own template or use a third-party template. Only with a template can it be considered a complete website. Installing a template is also very simple.

First, download an Apple CMS template: Conch Template V4.0. There are some minor issues in it, which have been fixed and can be used normally. Many js issues are related to the three files hlexpand.js, hlhtml.js, and hlstem.js. The JS files are encrypted, and some replacements are found online. Conch Template must be installed with PHP sg11 extension before it can be used. Since the template is relatively old, the current sg version has been released to 12, and it has not been tested whether it supports sg12.

Click to download:Conch template v4.0 perfect repair version + Dplayer player error-free version download

Click to download:The latest version of Conch template, no need for SG11 support, perfect and error-free version

  1. Upload the template to the template directory
  2. PHP must install the sg11 extension
  3. Background shortcut menu configuration added:
    Conch theme settings, /admin.php/admin/conch/theme
  4. Website templates and mobile templates are all in the [conch] template directory [moban], clear the cache.
  5. Note that the WeChat viewing function needs to modify the corresponding content in the conch/js/jquery.stem.js folder, line 301
  6. Slideshow recommendation 9 Large image mode requires uploading a poster image, recommended size 1680px*580px Small image mode requires 3 recommendations to be displayed
  7. Hot recommendations 1 Recommended 18 best recommendations (adaptive change function).
Apple cms construction tutorial to build a movie website for free
Conch template v4.0 perfect repair version + Dplayer player error-free version download

After decompressing the template file, upload it to template Directory, please rename the template file directory when uploading, and then change the template file directory user and user group. The default upload owner is the root user.

Apple cms construction tutorial to build a movie website for free

After uploading, change the access permissions of the file directory.

 chown nginx:nginx -R /home/uzbox/maccms10/template/movie 

After changing the template file owner, visit the Apple CMS backend, find the website template option on the page System > Website Parameter Configuration > Basic Settings. In the drop-down menu, select movie. The tested website template is adaptive to mobile phones, so select single domain here, and then click Save. The template is added!

Apple cms construction tutorial to build a movie website for free

Some templates require the installation of the PHP SG11 extension. SG11 is the abbreviation of SourceGuardian, and 11 represents the version. SourceGuardian is a tool that can encrypt PHP, so users can quickly and safely encode and compile PHP programs. The SG11 extension needs to be installed manually. First, download the SG11 extension package.

Click to download the SG11 expansion pack:SG11 WIN LINUX.ZIP

Run the uname -a command on the server to check the system version. If it is 64-bit, x86_64 will be displayed.

Then find the corresponding extension file in the downloaded extension package. For example, if the php7.2 version is installed on the server, find the ixed.7.2.lin file in the Linux x64 directory.

Apple cms construction tutorial to build a movie website for free

Upload the ixed.7.2.lin file to the /usr/lib64/php directory on your server.

Apple cms construction tutorial to build a movie website for free

After uploading, save the location of ixed.7.2.lin, which will be used below. /usr/lib64/php/ixed.7.2.lin

Edit the /etc/php.ini file and add extension=/usr/lib64/php/ixed.7.2.lin to the bottom line of the file.

 extension=/usr/lib64/php/ixed.7.2.lin 
Apple cms construction tutorial to build a movie website for free

After editing php.ini, save and upload it, then restart the PHP service or reboot the server.

Verify that SG11 is installed successfully:

 php --ri sourceguardian 
Apple cms construction tutorial to build a movie website for free

The template file of Apple CMS has been installed. After some simple settings, the front desk can access the web page. At this time, you will find that the front desk web page is empty. The next step is to collect and enter data.

Apple CMS construction tutorial data collection

There are many data collection resource websites on the Internet for Apple CMS. After setting up the collection interface, you can import data with one click.

The following is an example of a collection import:

First, search for Apple CMS collection resource station on the Internet, and then find the URL link of the collection interface in the Apple cms collection resource station.

Sky Resource Network Comprehensive Resources:

 https://api.tiankongapi.com/api.php/provide/vod/at/xml/ 

m3u8 resources:

 https://m3u8.tiankongapi.com/api.php/provide/vod/at/xml/ 

Before collecting data, you need to add the player of the resource station. If you don't add the player, there will be no playback address after collecting data. Each resource station has its own corresponding player, and the player is not universal!

You can download and unzip it from the collection resource site, and then import the player in the Apple CMS background, Super Console> Video> Player> Import:

Apple cms construction tutorial to build a movie website for free

After the player is imported, add the acquisition interface in the Apple CMS background. The specific steps are as follows:

Super Console > Collection > Custom Interface > Add:

Apple cms construction tutorial to build a movie website for free

The resource name can be customized, the interface address can be filled in with the URL link of the acquisition interface obtained above, and the interface type can be selected xmlThe interface type here mainly depends on the type of your API interface address. If your collection interface address is json, you should select json in the interface type. Resource type selection video , data operation selection New + Updated, filter address default No Filter. After completing the settings, click Save.

On the custom interface page, select the resource site you want to collect. In the collection options, first click on the day of collection.

Apple cms construction tutorial to build a movie website for free
When collecting resources, it will prompt that the category is not bound and skip err. Before collecting, you need to bind the category. After waiting for the current collection task to complete, it will automatically jump to the data collection list page.
Apple cms construction tutorial to build a movie website for free

Click Bind after the category. The category here is created in Basic > Category Management. If you have not created a category yet, you need to create it according to the category of the collection site.

Apple cms construction tutorial to build a movie website for free

After all categories are created, return to the category binding page of the custom interface, click Bind after the category, and then select the category to bind the category.

Apple cms construction tutorial to build a movie website for free
Apple cms construction tutorial to build a movie website for free

After the categories are bound, close the custom interface, reopen Collection > Custom Interface, and collect. Note: If there are no bound categories in the category, the content of the unbound categories will not be collected.

Apple cms construction tutorial to build a movie website for free

After waiting for the video data to be collected, collect the playlist data.

If you have not added the dedicated player of the resource station before, there is no way to display the playlist after collecting data. You need to add the player and then collect data again, so that you can add the playlist.

Super Console > Collection > Custom Interface, click to enter the resource site link you collected, and enter the resource library. At the bottom left of the movie list, click Collect All.

Apple cms construction tutorial to build a movie website for free
Apple cms construction tutorial to build a movie website for free

The playlist of the movies has been collected and stored, so all you have to do is wait patiently.

Apple cms construction tutorial to build a movie website for free

Player

How to set Apple cmsV10 to automatically play the next episode?

Add Apple cmsV10 to automatically play the next episode, add memory playback, P2P playback, but this method can only play videos in m3u8 format. First replace the dplayer player code, the replacement path is: static/player/dplayer.html

After the code is modified, you also need to set up the player in the background, Super Console>Video>Player>Add

Add a new player, and make sure you don't make a mistake in the code. For example, add a player with the code tkm3u8. After adding the player, fill in the following code in the player code. Then clear the cache.

Problems encountered in data collection

Apple cms construction tutorial to build a movie website for free
mistake:SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'vod_actor' at row 1

Error: SQLSTATE[22001]: String data, right truncation: 1406 Data too long for column "vod_actor" at row 1

Cause of error: The length of the inserted field in select mode (strict mode) of MySQL database exceeds the set length.
Solution: Set sql_mode.

 mysql -u root -p 

Log in to MySQL on the server, enter the MySQL password, and go to the mysql> command line.

Apple cms construction tutorial to build a movie website for free
 select @@sql_mode; 
Apple cms construction tutorial to build a movie website for free

sql_mode is mainly used to verify data and legitimacy: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

You canSTRICT_TRANS_TABLES,Remove or clear the parameters in sql_mode.

 SET @@global.sql_mode=''; SET @@sql_mode=''; 

After clearing, use the command to query

 select @@global.sql_mode; select @@sql_mode; 
Apple cms construction tutorial to build a movie website for free

After the settings are completed, quit MySQL. The above method will become invalid if the MySQL service is restarted. If you want to make it effective permanently, you also need to change the MySQL configuration file.

 vi /etc/my.cnf.d/mysql-default-authentication-plugin.cnf 

VI Edit the mysql-default-authentication-plugin.cnf configuration file and add the following line under [mysqld]:

 key_buffer_size=16M max_allowed_packet=8M sql_mode=ANSI 
  • key_buffer_size: used to specify the size of the index buffer
  • max_allowed_packet: Set the maximum value of a message transmission
  • sql_mode: A parameter indicating the SQL mode. This parameter can be used to set the strictness of SQL statement verification.

After adding, save and exit VI mode, then restart MySQL.

 systemctl restart mysqld 

Finally, check that the sql_mode mode has been set successfully and has become ANSI loose mode.

Apple cms construction tutorial to build a movie website for free

sql_mode mode:

sql_mode There are three modes in total: ANSI,TRADITIONAL and STRICT_TRANS_TABLES

ANSI mode:Loose mode changes syntax and behavior to make it more consistent with standard SQL. Validate the inserted data. If it does not conform to the defined type or length, adjust the data type or truncate it before saving, and report a warning. For the error mentioned at the beginning of this article, you can first set sql_mode to ANSI mode, so that data can be inserted, and for the field value of the result of the divisor being 0, the database will replace it with a NULL value.

TRADITIONAL mode:Strict mode, when inserting data into MySQL database, strict data verification is performed to ensure that wrong data cannot be inserted, and error errors are reported instead of just warnings. When used for transactions, transactions will be rolled back. Note: Abandon INSERT/UPDATE immediately if an error is found. If you use a non-transactional storage engine, this method is not what you want, because data changes made before the error will not be "rolled", resulting in "only partial updates".

STRICT_TRANS_TABLES mode:Strict mode performs strict data verification. Incorrect data cannot be inserted and an error is reported. If the given value cannot be inserted into the transaction table, the statement is abandoned. For non-transactional tables, if the value appears in a single-line statement or the first line of a multi-line statement, the statement is abandoned.

sql_mode details:

ONLY_FULL_GROUP_BY
For GROUP BY aggregation operations, if the column in SELECT does not appear in GROUP BY, then the SQL is illegal because the column is not in the GROUP BY clause.
NO_AUTO_VALUE_ON_ZERO
This value affects the insertion of auto-increment columns. By default, inserting 0 or NULL means generating the next auto-increment value. If the user wants to insert a value of 0 and the column is auto-increment, then this option is useful.
STRICT_TRANS_TABLES
If a value cannot be inserted into a transaction, the current operation is aborted without restriction for non-transactional tables.
NO_ZERO_IN_DATE
Day and month values of zero are not allowed.
NO_ZERO_DATE
The MySQL database does not allow the insertion of zero date. Inserting zero date will throw an error instead of a warning.
ERROR_FOR_DIVISION_BY_ZERO
During insert or update, if the data is divided by zero, an error is generated instead of a warning. If this mode is not given, MySQL returns NULL when the data is divided by zero.
NO_AUTO_CREATE_USER
Disable GRANT from creating users with empty passwords.
NO_ENGINE_SUBSTITUTION
If the required storage engine is disabled or not compiled in, an error is thrown. When this value is not set, the default storage engine is used instead and an exception is thrown.
PIPES_AS_CONCAT
Treat "||" as a string concatenation operator rather than an OR operator, which is the same as Oracle database and is similar to the string concatenation function Concat.
ANSI_QUOTES
You cannot use double quotes to quote a string, as they are interpreted as identifiers.

Several issues that need to be paid attention to during the Apple CMS construction tutorial

Error: Fatal error: Call to undefined function curl_init()

PHP lacks the curl module, install the php-curl extension

yum install php-curl

Error: Fatal error: Uncaught Error: Call to undefined function mb_check_encoding() in

If mb_check_encoding() fails, install:

yum install php-mbstring

Then modify php.ini: execute vim /etc/php.ini, add extension=/usr/lib64/php/modules/mbstring.so, and make corresponding changes according to the directory where mbstring.so is stored. Generally, no changes are required.

Error: Interface 'JsonSerializable' not found

The reason for the error is that PHP lacks the JSON extension or the JSON extension is not enabled

Install JSON extension under Linux:

yum -y install php-json

Error: The cms background verification code is invalid

I entered the correct verification code countless times, but it always said the verification code was wrong. This is a minor problem with PHP.

Modify the user group and permissions of the session path (for example, /var/lib/php/session), and then go to the corresponding session path.

cd /var/lib/php chown nginx:nginx ./session chmod -R 777 ./session

Error: Fatal error: Call to undefined function app\common\model\simplexml_load_string()

This error is because php-xml is not installed. Installing php-xml can solve the problem

dnf install php-xml

Except for the homepage, other pages show that they do not exist and the page cannot be found 404.

What should I do if all other pages except the home page are 404 under nginx?Pseudo-staticRules, generally can be solved. If the background file entry admin.php is modified, then change it to the corresponding file name. For example, if your background management is changed to dianyingzhanhoutai.php, then the admin.php in the pseudo-static page also needs to be replaced with the corresponding file name.

 location / { if (!-e $request_filename) { rewrite ^/index.php(.*)$ /index.php?s=$1 last; rewrite ^/admin_yingyinjia.php(.*)$ /admin_yingyinjia.php?s=$1 last; rewrite ^/api.php(.*)$ /api.php?s=$1 last; rewrite ^(.*)$ /index.php?s=$1 last; break; } }

Regarding the installation problem of sg11, it does not support encrypted files of higher versions of PHP

SG11 is the abbreviation of SourceGuardian 11. SourceGuardian OfficialThe version has been updated to SourceGuardian 13 and the highest PHP encryption version of SG11 is PHP 7.3, so when you need to install the SG11 web program, the PHP version cannot be higher than 7.3.

Note: The Conch template is encrypted using SourceGuardian 11. Installing the Conch template using SourceGuardian 13 will result in an error.

If the PHP version is higher than 7.3, you need to install the decryption file online. First, create a new PHPinfo probe page.

https://www.sourceguardian.com/loaders/download.php

Apple cms construction tutorial to build a movie website for free
Apple cms construction tutorial to build a movie website for free

php7.2 is bound to the module stream, so I can only install nginx1.14 and cannot install a higher version. What should I do?

You can install Nginx 1.20 first, and then install php7.2. If you install php7.2 first, you can only install Nginx 1.14

5/5 - (1 vote)

One comment

  1. Chrome 139.0.7258.76 Chrome 139.0.7258.76 iPhone iOS 18.5.0 iPhone iOS 18.5.0
    Mozilla/5.0 (iPhone; CPU iPhone OS 18_5_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/139.0.7258.76 Mobile/15E148 Safari/604.1

    # MACCMS backend has a high-risk vulnerability security notice

    ## 📌 Vulnerability Overview

    MACCMS has a high-risk vulnerability that allows backend operations without authentication, affecting multiple versions as early as 2022. The vulnerability has not yet been patched, and multiple websites have been attacked.

    ## 🧨 Known attacker characteristics

    ### Attacker 1: Plugin disguises invasion and tampers with JS files

    Related documents:
    - {website directory}/application/extra/addons.php

    Judgment method:
    If the plugin is not enabled, the normal file content is as follows:

    false,
    'hooks' => array (),
    'route' => array (),
    );

    If the file size is 20-30KB and has a complex structure, it can be basically determined that malicious code has been implanted.

    Aggressive behavior:
    Modify all JS files:
    - All .js files under {website root directory}/static/js/
    - All .js files under {website root directory}/template/theme file/

    Infection characteristics: Add encrypted JavaScript Trojan code at the end of the JS file

    Inspection method:
    1. Check the timestamps of JS files one by one
    2. Open the JS file and scroll to the bottom. If you find any unknown encrypted code (inconsistent style), it means it is infected.
    3. You can copy the code to ChatGPT or AI tools for decryption analysis

    Treatment method:
    1. Overwrite the addons.php file with a clean version (Note: If you have plugins enabled, replacing them may cause them to become inactive)
    2. Delete or restore the tampered JS file
    3. Clean up the CDN cache to prevent the virus code from spreading further

    ### Attacker 2: Disguise and configure a Trojan to attempt to escalate privileges

    Related files (if they appear, you will be infected):
    - {website root directory}/application/extra/active.php
    - {website root directory}/application/extra/system.php

    Aggressive behavior:
    - The system.php file will release more complex Trojan code after the initial execution, and then automatically clear itself to hide its traces
    - The Trojan attempts to elevate privileges. For example, if PHP allows `shell_exec`, the attacker can further control the server and even reinstall the system.

    Late infection methods include:
    - Randomly insert malicious jump code into HTML pages
    - Hidden backdoor

    Treatment method:
    1. Delete the above two files immediately without affecting normal business
    2. Check:
    - {website root directory}/static/js/ all JS files
    - {Website root directory}/template/theme file/all JS files

    If tampered with, please restore the clean version in time

    ## 🔒 Hardening suggestions (to prevent further intrusion)

    ### ✅ Turn off useless functions
    If the website does not require user login or POST requests:
    - Disable all POST requests
    - Can be intercepted at CDN/Cloudflare/local NGINX layer

    ### ✅ Limit sensitive links
    If the business must use POST (such as login, registration, etc.):
    - Intercept all POST requests to URLs containing admin
    - Customize rules to strengthen security policies

    ### ✅ Turn on security protection
    - Enable Pagoda panel tamper protection
    - Or use the command line tool chattr to lock key directories:

    > Note: The file cannot be modified after +i, and chattr -i must be executed before deploying the update

Leave a Reply

Your email address will not be published. Required fields are marked *