Maison > développement back-end > tutoriel php > Problème de période de validité de session PHP

Problème de période de validité de session PHP

怪我咯
Libérer: 2023-03-13 09:38:01
original
6725 Les gens l'ont consulté

La durée de validité de session par défaut en PHP est de 1440 secondes (24 minutes) [weiweiok Note : La valeur par défaut en php5 est de 180 minutes], c'est-à-dire que si le client ne s'actualise pas pendant plus de 24 minutes, la session en cours expirera. Évidemment, cela ne suffit pas.

Problème de période de validité de session PHP

Une méthode efficace connue consiste à utiliser session_set_save_handler pour prendre en charge tout le travail de gestion de session. Généralement, les informations de session sont stockées dans la base de données. De cette manière, toutes les sessions expirées peuvent être supprimées via des instructions SQL et la période de validité de. la session peut être contrôlée avec précision. C’est également une méthode couramment utilisée pour les grands sites Web basés sur PHP. Cependant, pour les petits sites Web ordinaires, il ne semble pas nécessaire de travailler aussi dur.
Mais la Session générale a une durée de vie limitée Si l'utilisateur ferme le navigateur, les variables de Session ne peuvent pas être enregistrées ! Alors, comment pouvons-nous atteindre la durée de vie permanente de Session ?
Comme nous le savons tous, la session est stockée côté serveur. Le fichier de l'utilisateur est obtenu en fonction du SessionID fourni par le client, puis lit le fichier pour obtenir la valeur de la variable. Le SessionID peut utiliser le Cookie du client ou le Query_String du protocole Http1. 1 (c'est-à-dire la partie après le « ? » de l'URL accédée) est transmis au serveur, puis le serveur lit le répertoire de la Session...
Pour réaliser la vie permanente de la Session, vous devez d'abord comprendre les paramètres PHP .ini liés à la Session (ouvrez le fichier php.ini, dans la section "[Session]") :
1 . session.use_cookies : La valeur par défaut est "1", ce qui signifie que SessionID est transmis par Cookie. Sinon, utilisez Query_String pour transmettre
2. Cookie ou Query_String à transmettre. La valeur par défaut est "PHPSESSID" ;
3. session.cookie_lifetime : Cela représente l'heure à laquelle le SessionID est stocké dans le cookie client. La valeur par défaut est 0, ce qui signifie que le SessionID sera invalidé. dès la fermeture du navigateur... C'est pour cette raison que la Session ne peut pas être utilisée en permanence !
4. session.gc_maxlifetime : C'est l'heure à laquelle les données de session sont stockées côté serveur. Si cette durée est dépassée, les données de session seront automatiquement supprimées !
Il existe de nombreux autres paramètres, mais ce sont ceux liés à cet article. Commençons par les principes et les étapes d'utilisation de la session permanente.
Comme mentionné précédemment, le serveur lit les données de session via SessionID, mais généralement l'ID de session envoyé par le navigateur disparaît après la fermeture du navigateur, il nous suffit donc de définir manuellement l'ID de session et de l'enregistrer, non...
Si vous avez l'autorisation d'utiliser le serveur, la configuration est très, très simple. Il vous suffit de suivre les étapes suivantes :
1 Réglez "session.use_cookies" sur 1 et activez les cookies. stockage. SessionID, mais la valeur par défaut est 1, n'a généralement pas besoin d'être modifié ;
2. Remplacez "session.cookie_lifetime" par l'infini positif (bien sûr, il n'y a pas de paramètre pour l'infini positif, mais il n'y a pas de différence entre 999999999). et infini positif) ;
3. "session.gc_maxlifetime" est défini à la même heure que "session.cookie_lifetime"
Il est clairement indiqué dans la documentation PHP que le paramètre permettant de définir la période de validité de la session est session ; .gc_maxlifetime. Ce paramètre peut être modifié dans le fichier php.ini ou via la fonction ini_set(). Le problème est qu'après de nombreux tests, la modification de ce paramètre n'a pratiquement aucun effet et la durée de validité de la session reste à la valeur par défaut de 24 minutes.
En raison du mécanisme de fonctionnement de PHP, il ne dispose pas de thread démon pour analyser régulièrement les informations de session et déterminer si elles sont invalides. Lorsqu'une requête valide se produit, PHP décidera de démarrer un GC (Garbage Collector) en fonction de la valeur de la variable globale session.gc_probability/session.gc_pisor (qui peut également être modifiée via la fonction php.ini ou ini_set()) . Par défaut, session.gc_probability = 1, session.gc_pisor = 100, ce qui signifie qu'il y a une probabilité de 1 % que le GC soit démarré. Le travail de
GC consiste à analyser toutes les informations de session, à soustraire l'heure de la dernière modification (date de modification) de la session de l'heure actuelle et à la comparer avec le paramètre session.gc_maxlifetime si le temps de survie a dépassé gc_maxlifetime. , remplacez la suppression de session.
Jusqu'à présent, tout fonctionne bien. Alors pourquoi gc_maxlifetime devient-il invalide ?
Par défaut, les informations de session seront enregistrées dans le répertoire de fichiers temporaires du système sous forme de fichiers texte. Sous Linux, ce chemin est généralement tmp, et sous Windows, il s'agit généralement de C:WindowsTemp. Lorsqu'il y a plusieurs applications PHP sur le serveur, elles enregistreront leurs fichiers de session dans le même répertoire. De même, ces applications PHP démarreront également GC avec une certaine probabilité et analyseront tous les fichiers de session.
Le problème est que lorsque GC fonctionne, il ne fait pas la distinction entre les sessions sur différents sites. Par exemple, le gc_maxlifetime du site A est défini sur 2 heures et le gc_maxlifetime du site B est défini sur 24 minutes par défaut. Lorsque le GC du site B démarre, il analyse le répertoire public des fichiers temporaires et supprime tous les fichiers de session datant de plus de 24 minutes, qu'ils proviennent du site A ou B. De cette façon, les gc_maxlifetime paramètres du site A ne servent à rien.
Une fois que vous avez trouvé le problème, il est facile de le résoudre. Modifiez le paramètre session.save_path, ou utilisez la fonction session_save_path() pour pointer le répertoire où la session est enregistrée vers un répertoire dédié. Le paramètre gc_maxlifetime fonctionne normalement.
À proprement parler, est-ce un bug de PHP ?
Un autre problème est que gc_maxlifetime ne peut garantir que la durée de survie de la session la plus courte et ne peut pas être enregistrée. Passé ce délai, les informations de session seront immédiatement supprimées. Étant donné que GC est démarré sur la base d'une probabilité et peut ne pas être démarré avant une longue période, un grand nombre de sessions seront toujours valides après avoir dépassé gc_maxlifetime. Une façon de résoudre ce problème est d'augmenter la probabilité de session.gc_probability/session.gc_pisor. S'il est mentionné à 100 %, ce problème sera complètement résolu, mais il aura évidemment un impact sérieux sur les performances. Une autre méthode consiste à déterminer la durée de vie de la session en cours dans votre code. Si elle dépasse gc_maxlifetime, effacez la session en cours.
Mais si vous n'avez pas l'autorité d'exploitation du serveur, ce sera plus gênant. Vous devrez réécrire le SessionID via le programme PHP pour obtenir un stockage permanent des données de session. Consultez le manuel des fonctions de php.net et vous pouvez voir la fonction "session_id": si aucun paramètre n'est défini, le SessionID actuel sera renvoyé. Si les paramètres sont définis, le SessionID actuel sera défini sur la valeur donnée.
Tant que vous utilisez un cookie permanent et ajoutez la fonction "session_id", vous pouvez enregistrer les données de session permanentes !
Mais pour plus de commodité, nous devons connaître le "session.name" défini par le serveur, mais la plupart des utilisateurs n'ont pas la permission de visualiser les paramètres php.ini du serveur. Cependant, PHP fournit une très bonne fonction "phpinfo". ", qui peut être utilisé pour afficher presque toutes les informations PHP !
-------------------------------------------------------------- --- ----------------------------------------------------
Informations relatives à PHP afficher< /titre> <br><?phpinfo()?> <br>----------------------------- -- ------------------------------------------------ -- -- <br>Ouvrez l'éditeur, entrez le code ci-dessus, puis exécutez le programme dans le navigateur, vous verrez des informations relatives à PHP (comme le montre la figure 1). Il existe un paramètre "session.name", qui est le serveur "session.name" dont nous avons besoin, généralement "PHPSESSID". <br>Après avoir noté le nom du SessionID, nous pouvons réaliser un stockage permanent des données de session ! <br></p> <p class="codetitle">Le code est le suivant :</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">session_start(); ini_set(&#39;session.save_path&#39;,&#39;/tmp/&#39;); //6个钟头 ini_set(&#39;session.gc_maxlifetime&#39;,21600); //保存一天 $lifeTime = 24 * 3600; setcookie(session_name(), session_id(), time() + $lifeTime, "/");</pre><div class="contentsignin">Copier après la connexion</div></div><p>Post-scriptum : <br/>En fait, un véritable stockage permanent est impossible, car la durée de stockage des cookies est limitée, et l'espace du serveur est également limité... …Mais pour certains sites qui doivent être sauvegardés longtemps, la méthode ci-dessus suffit ! <br/>Mettre la session dans mysql Exemple : <br/>Créer une table dans la base de données : session (sesskey varchar32, expiry int11, value longtext) <br/>code : <br/>La base de données a été <a href="http://www.php.cn/wiki/409.html" target="_blank">connectée avant l'exécution de le code</a> . <br/></p><p class="codetitle">Le code est le suivant :</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">define(&#39;STORE_SESSIONS&#39;,&#39;mysql&#39;); if (STORE_SESSIONS == &#39;mysql&#39;) { if (!$SESS_LIFE = get_cfg_var(&#39;session.gc_maxlifetime&#39;)) { $SESS_LIFE = 1440; } function _sess_open($save_path, $session_name) { // 如果没有连接数据库,可以在此执行mysql_pconnect,mysql_select_db return true; } function _sess_close() { return true; } function _sess_read($key) { $value_query = mysql_query("select value from sessions where sesskey = &#39;" .addslashes($key) . "&#39; and expiry > &#39;" . time() . "&#39;"); $value = mysql_fetch_array($value_query); if (isset($value[&#39;value&#39;])) { return $value[&#39;value&#39;]; } return false; } function _sess_write($key, $val) { global $SESS_LIFE; $expiry = time() + $SESS_LIFE; $value = $val; $check_query = mysql_query("select count(*) as total from sessions where sesskey = &#39;" . addslashes($key) . "&#39;"); $check = mysql_fetch_array($check_query); if ($check[&#39;total&#39;] > 0) { return mysql_query("update sessions set expiry = &#39;" . addslashes($expiry) . "&#39;, value = &#39;" . addslashes($value) . "&#39; where sesskey = &#39;" . addslashes($key) . "&#39;"); } else { return mysql_query("insert into sessions values (&#39;" . addslashes($key) . "&#39;, &#39;" . addslashes($expiry) . "&#39;, &#39;" . addslashes($value) . "&#39;)"); } } function _sess_destroy($key) { return mysql_query("delete from sessions where sesskey = &#39;" . addslashes($key) . "&#39;"); } function _sess_gc($maxlifetime) { mysql_query("delete from sessions where expiry < &#39;" . time() . "&#39;"); return true; } session_set_save_handler(&#39;_sess_open&#39;, &#39;_sess_close&#39;, &#39;_sess_read&#39;, &#39;_sess_write&#39;, &#39;_sess_destroy&#39;, &#39;_sess_gc&#39;); } danoo_session_name( &#39;dtvSid&#39; ); danoo_session_save_path(SESSION_WRITE_DIRECTORY);</pre><div class="contentsignin">Copier après la connexion</div></div><p>Je ne comprends toujours pas d'où viennent les paramètres open et write. Deux fonctions couramment utilisées pour modifier la configuration de php.ini : get_cfg_var('session.gc_maxlifetime') : récupère la valeur de session.gc_maxlifetime ini_set('session.cookie_lifetime','0') : définissez la valeur de session.cookie_lifetime sur 0. </p> <blockquote><p><span style="color: rgb(255, 0, 0);">Recommandations de sujets connexes</span> : <a href="https://www.php.cn/php-weizijiaocheng-454911.html" target="_blank">session php</a> (y compris des photos, des vidéos, des cas) </p></blockquote><p>Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!</p> </div> </div> <div style="height: 25px;"> <div class="wzconBq" style="display: inline-flex;"> <span>Étiquettes associées:</span> <div class="wzcbqd"> <a onclick="hits_log(2,'www',this);" href-data="https://www.php.cn/fr/search?word=php" target="_blank">php</a> <a onclick="hits_log(2,'www',this);" href-data="https://www.php.cn/fr/search?word=session" target="_blank">session</a> <a onclick="hits_log(2,'www',this);" href-data="https://www.php.cn/fr/search?word=有效期" target="_blank">有效期</a> </div> </div> <div style="display: inline-flex;float: right; color:#333333;">source:php.cn</div> </div> <div class="wzconOtherwz"> <a href="https://www.php.cn/fr/faq/373348.html" title="Comment détruire les variables de session en php"> <span>Article précédent:Comment détruire les variables de session en php</span> </a> <a href="https://www.php.cn/fr/faq/373351.html" title="Pourquoi la session php n'a-t-elle aucun effet ?"> <span>Article suivant:Pourquoi la session php n'a-t-elle aucun effet ?</span> </a> </div> <div class="wzconShengming"> <div class="bzsmdiv">Déclaration de ce site Web</div> <div>Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn</div> </div> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="2507867629"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <div class="wzconZzwz"> <div class="wzconZzwztitle">Derniers articles par auteur</div> <ul> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/fr/faq/360371.html">Explication détaillée de l'exemple 'instruction elseif' d'instruction de contrôle conditionnel PHP</a> </div> <div>2023-03-07 13:08:02</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/fr/faq/373805.html">Comment analyser les URL avec des caractères chinois en PHP ?</a> </div> <div>2023-03-13 16:16:02</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/fr/faq/372719.html">Instruction SQL pour supprimer les enregistrements en double et obtenir un exemple de code d'enregistrement en double</a> </div> <div>1970-01-01 08:00:00</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/fr/faq/373350.html">Problème de période de validité de session PHP</a> </div> <div>2023-03-13 09:38:01</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/fr/faq/373657.html">Analyse de l'algorithme de cryptage du mot de passe utilisateur PHP</a> </div> <div>2023-03-13 14:30:01</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/fr/faq/359367.html">mise en œuvre de vue.js pour imiter l'expérience de développement de composants de sélection de temps iOS natifs</a> </div> <div>1970-01-01 08:00:00</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/fr/faq/371484.html">Comment utiliser JS pour formater le type de date lu dans la base de données dans le type souhaité</a> </div> <div>1970-01-01 08:00:00</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/fr/faq/369678.html">ordre de priorité des opérateurs php</a> </div> <div>2023-03-10 21:22:02</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/fr/faq/359542.html">Méthodes et techniques pour contrôler les attributs en lecture seule ou en écriture d'un champ de texte à l'aide de JS</a> </div> <div>1970-01-01 08:00:00</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/fr/faq/360344.html">Explication détaillée des concepts et exemples d'expression PHP</a> </div> <div>2023-03-07 12:38:01</div> </li> </ul> </div> <div class="wzconZzwz"> <div class="wzconZzwztitle">Derniers numéros</div> <div class="wdsyContent"> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/fr/wenda/175514.html" target="_blank" title="Codeigniter : $this->session->userdata('user_id') ne fonctionne pas correctement" class="wdcdcTitle">Codeigniter : $this->session->userdata('user_id') ne fonctionne pas correctement</a> <a href="https://www.php.cn/fr/wenda/175514.html" class="wdcdcCons">J'essaie donc d'apprendre à utiliser codeigniter3 et j'essaie d'obtenir l'identifiant de l...</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> Depuis 2024-03-30 12:19:52</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>1</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>323</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> </div> </div> <div class="wzconZt" > <div class="wzczt-title"> <div>Rubriques connexes</div> <a href="https://www.php.cn/fr/faq/zt" target="_blank">Plus> </a> </div> <div class="wzcttlist"> <ul> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/fr/faq/phpwjzmdk"><img src="https://img.php.cn/upload/subject/202407/22/2024072214120868901.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Comment ouvrir le fichier php" /> </a> <a target="_blank" href="https://www.php.cn/fr/faq/phpwjzmdk" class="title-a-spanl" title="Comment ouvrir le fichier php"><span>Comment ouvrir le fichier php</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/fr/faq/phpzmqcszys"><img src="https://img.php.cn/upload/subject/202407/22/2024072214004499289.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Comment supprimer les premiers éléments d'un tableau en php" /> </a> <a target="_blank" href="https://www.php.cn/fr/faq/phpzmqcszys" class="title-a-spanl" title="Comment supprimer les premiers éléments d'un tableau en php"><span>Comment supprimer les premiers éléments d'un tableau en php</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/fr/faq/phpfxlsb"><img src="https://img.php.cn/upload/subject/202407/22/2024072214003558557.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Que faire si la désérialisation php échoue" /> </a> <a target="_blank" href="https://www.php.cn/fr/faq/phpfxlsb" class="title-a-spanl" title="Que faire si la désérialisation php échoue"><span>Que faire si la désérialisation php échoue</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/fr/faq/sessionsxdyy"><img src="https://img.php.cn/upload/subject/202407/22/2024072213580932079.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Raisons de l'échec de la session" /> </a> <a target="_blank" href="https://www.php.cn/fr/faq/sessionsxdyy" class="title-a-spanl" title="Raisons de l'échec de la session"><span>Raisons de l'échec de la session</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/fr/faq/sessionsxjjff"><img src="https://img.php.cn/upload/subject/202407/22/2024072213573294856.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Solution en cas d'échec de session" /> </a> <a target="_blank" href="https://www.php.cn/fr/faq/sessionsxjjff" class="title-a-spanl" title="Solution en cas d'échec de session"><span>Solution en cas d'échec de session</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/fr/faq/phpljmssql"><img src="https://img.php.cn/upload/subject/202407/22/2024072213560082376.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Comment connecter PHP à la base de données mssql" /> </a> <a target="_blank" href="https://www.php.cn/fr/faq/phpljmssql" class="title-a-spanl" title="Comment connecter PHP à la base de données mssql"><span>Comment connecter PHP à la base de données mssql</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/fr/faq/phpljmssqlsjk"><img src="https://img.php.cn/upload/subject/202407/22/2024072213555538594.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Comment connecter PHP à la base de données mssql" /> </a> <a target="_blank" href="https://www.php.cn/fr/faq/phpljmssqlsjk" class="title-a-spanl" title="Comment connecter PHP à la base de données mssql"><span>Comment connecter PHP à la base de données mssql</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/fr/faq/htmlzmsc"><img src="https://img.php.cn/upload/subject/202407/22/2024072213512540557.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Comment télécharger du HTML" /> </a> <a target="_blank" href="https://www.php.cn/fr/faq/htmlzmsc" class="title-a-spanl" title="Comment télécharger du HTML"><span>Comment télécharger du HTML</span> </a> </li> </ul> </div> </div> </div> </div> <div class="phpwzright"> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-5902227090019525" data-ad-slot="3653428331" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <div class="wzrOne"> <div class="wzroTitle">Recommandations populaires</div> <div class="wzroList"> <ul> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="Comment configurer des hôtes sur un ordinateur Mac (étapes avec images et texte)" href="https://www.php.cn/fr/faq/448310.html">Comment configurer des hôtes sur un ordinateur Mac (étapes avec images et texte)</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="Construisez rapidement un robot QQ simple avec PHP" href="https://www.php.cn/fr/faq/448391.html">Construisez rapidement un robot QQ simple avec PHP</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="Méthodes communes de vérification de signature API (implémentation PHP)" href="https://www.php.cn/fr/faq/448286.html">Méthodes communes de vérification de signature API (implémentation PHP)</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="Collection d'opérations de date et d'heure courantes en PHP" href="https://www.php.cn/fr/faq/448309.html">Collection d'opérations de date et d'heure courantes en PHP</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="PHP génère un code de vérification graphique (type d'interférence amélioré)" href="https://www.php.cn/fr/faq/448308.html">PHP génère un code de vérification graphique (type d'interférence amélioré)</a> </div> </li> </ul> </div> </div> <script src="https://sw.php.cn/hezuo/cac1399ab368127f9b113b14eb3316d0.js" type="text/javascript"></script> <div class="wzrThree"> <div class="wzrthree-title"> <div>Tutoriels populaires</div> <a target="_blank" href="https://www.php.cn/fr/course.html">Plus> </a> </div> <div class="wzrthreelist swiper2"> <div class="wzrthreeTab swiper-wrapper"> <div class="check tabdiv swiper-slide" data-id="one">Tutoriels associés <div></div></div> <div class="tabdiv swiper-slide" data-id="two">Recommandations populaires<div></div></div> <div class="tabdiv swiper-slide" data-id="three">Derniers cours<div></div></div> </div> <ul class="one"> <li> <a target="_blank" href="https://www.php.cn/fr/course/1106.html" title="Comment nettoyer votre code PHP" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/6256873e17991995.png" alt="Comment nettoyer votre code PHP"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Comment nettoyer votre code PHP" href="https://www.php.cn/fr/course/1106.html">Comment nettoyer votre code PHP</a> <div class="wzrthreerb"> <div>46843 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="1106"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/fr/course/858.html" title="SESSION implémente la connexion et la vérification" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/6253dc6d2078e420.png" alt="SESSION implémente la connexion et la vérification"/> </a> <div class="wzrthree-right"> <a target="_blank" title="SESSION implémente la connexion et la vérification" href="https://www.php.cn/fr/course/858.html">SESSION implémente la connexion et la vérification</a> <div class="wzrthreerb"> <div>95475 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="858"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> <ul class="two" style="display: none;"> <li> <a target="_blank" href="https://www.php.cn/fr/course/812.html" title="Le dernier didacticiel vidéo ThinkPHP 5.1 en première mondiale (60 jours pour devenir un expert PHP en ligne)" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/041/620debc3eab3f377.jpg" alt="Le dernier didacticiel vidéo ThinkPHP 5.1 en première mondiale (60 jours pour devenir un expert PHP en ligne)"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Le dernier didacticiel vidéo ThinkPHP 5.1 en première mondiale (60 jours pour devenir un expert PHP en ligne)" href="https://www.php.cn/fr/course/812.html">Le dernier didacticiel vidéo ThinkPHP 5.1 en première mondiale (60 jours pour devenir un expert PHP en ligne)</a> <div class="wzrthreerb"> <div >1421729 temps d'étude</div> <div class="courseICollection" data-id="812"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/fr/course/286.html" title="Tutoriel vidéo JAVA pour débutants" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a2bacfd9379.png" alt="Tutoriel vidéo JAVA pour débutants"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Tutoriel vidéo JAVA pour débutants" href="https://www.php.cn/fr/course/286.html">Tutoriel vidéo JAVA pour débutants</a> <div class="wzrthreerb"> <div >2519618 temps d'étude</div> <div class="courseICollection" data-id="286"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/fr/course/504.html" title="Tutoriel vidéo d'introduction base zéro à l'apprentissage de Python de Little Turtle" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a67ce3a6655.png" alt="Tutoriel vidéo d'introduction base zéro à l'apprentissage de Python de Little Turtle"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Tutoriel vidéo d'introduction base zéro à l'apprentissage de Python de Little Turtle" href="https://www.php.cn/fr/course/504.html">Tutoriel vidéo d'introduction base zéro à l'apprentissage de Python de Little Turtle</a> <div class="wzrthreerb"> <div >506572 temps d'étude</div> <div class="courseICollection" data-id="504"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/fr/course/901.html" title="Introduction rapide au développement web front-end" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/64be28a53a4f6310.png" alt="Introduction rapide au développement web front-end"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Introduction rapide au développement web front-end" href="https://www.php.cn/fr/course/901.html">Introduction rapide au développement web front-end</a> <div class="wzrthreerb"> <div >215668 temps d'étude</div> <div class="courseICollection" data-id="901"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/fr/course/234.html" title="Maîtrisez les didacticiels vidéo PS à partir de zéro" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62611f57ed0d4840.jpg" alt="Maîtrisez les didacticiels vidéo PS à partir de zéro"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Maîtrisez les didacticiels vidéo PS à partir de zéro" href="https://www.php.cn/fr/course/234.html">Maîtrisez les didacticiels vidéo PS à partir de zéro</a> <div class="wzrthreerb"> <div >887065 temps d'étude</div> <div class="courseICollection" data-id="234"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> <ul class="three" style="display: none;"> <li> <a target="_blank" href="https://www.php.cn/fr/course/1648.html" title="[Web front-end] Démarrage rapide de Node.js" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662b5d34ba7c0227.png" alt="[Web front-end] Démarrage rapide de Node.js"/> </a> <div class="wzrthree-right"> <a target="_blank" title="[Web front-end] Démarrage rapide de Node.js" href="https://www.php.cn/fr/course/1648.html">[Web front-end] Démarrage rapide de Node.js</a> <div class="wzrthreerb"> <div >7275 temps d'étude</div> <div class="courseICollection" data-id="1648"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/fr/course/1647.html" title="Collection complète de cours full-stack de développement Web étranger" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/6628cc96e310c937.png" alt="Collection complète de cours full-stack de développement Web étranger"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Collection complète de cours full-stack de développement Web étranger" href="https://www.php.cn/fr/course/1647.html">Collection complète de cours full-stack de développement Web étranger</a> <div class="wzrthreerb"> <div >5660 temps d'étude</div> <div class="courseICollection" data-id="1647"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/fr/course/1646.html" title="Aller au langage pratique GraphQL" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662221173504a436.png" alt="Aller au langage pratique GraphQL"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Aller au langage pratique GraphQL" href="https://www.php.cn/fr/course/1646.html">Aller au langage pratique GraphQL</a> <div class="wzrthreerb"> <div >4769 temps d'étude</div> <div class="courseICollection" data-id="1646"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/fr/course/1645.html" title="Le maître du ventilateur de 550 W apprend JavaScript à partir de zéro, étape par étape" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662077e163124646.png" alt="Le maître du ventilateur de 550 W apprend JavaScript à partir de zéro, étape par étape"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Le maître du ventilateur de 550 W apprend JavaScript à partir de zéro, étape par étape" href="https://www.php.cn/fr/course/1645.html">Le maître du ventilateur de 550 W apprend JavaScript à partir de zéro, étape par étape</a> <div class="wzrthreerb"> <div >679 temps d'étude</div> <div class="courseICollection" data-id="1645"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/fr/course/1644.html" title="Le maître Python Mosh, un débutant sans aucune connaissance de base peut commencer en 6 heures" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/6616418ca80b8916.png" alt="Le maître Python Mosh, un débutant sans aucune connaissance de base peut commencer en 6 heures"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Le maître Python Mosh, un débutant sans aucune connaissance de base peut commencer en 6 heures" href="https://www.php.cn/fr/course/1644.html">Le maître Python Mosh, un débutant sans aucune connaissance de base peut commencer en 6 heures</a> <div class="wzrthreerb"> <div >24057 temps d'étude</div> <div class="courseICollection" data-id="1644"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> </div> <script> var mySwiper = new Swiper('.swiper2', { autoplay: false,//可选选项,自动滑动 slidesPerView : 'auto', }) $('.wzrthreeTab>div').click(function(e){ $('.wzrthreeTab>div').removeClass('check') $(this).addClass('check') $('.wzrthreelist>ul').css('display','none') $('.'+e.currentTarget.dataset.id).show() }) </script> </div> <div class="wzrFour"> <div class="wzrfour-title"> <div>Derniers téléchargements</div> <a href="https://www.php.cn/fr/xiazai">Plus> </a> </div> <script> $(document).ready(function(){ var sjyx_banSwiper = new Swiper(".sjyx_banSwiperwz",{ speed:1000, autoplay:{ delay:3500, disableOnInteraction: false, }, pagination:{ el:'.sjyx_banSwiperwz .swiper-pagination', clickable :false, }, loop:true }) }) </script> <div class="wzrfourList swiper3"> <div class="wzrfourlTab swiper-wrapper"> <div class="check swiper-slide" data-id="onef">effets Web <div></div></div> <div class="swiper-slide" data-id="twof">Code source du site Web<div></div></div> <div class="swiper-slide" data-id="threef">Matériel du site Web<div></div></div> <div class="swiper-slide" data-id="fourf">Modèle frontal<div></div></div> </div> <ul class="onef"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Code de contact du formulaire de message d'entreprise jQuery" href="https://www.php.cn/fr/toolset/js-special-effects/8071">[bouton de formulaire] Code de contact du formulaire de message d'entreprise jQuery</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Effets de lecture de boîte à musique HTML5 MP3" href="https://www.php.cn/fr/toolset/js-special-effects/8070">[Effets spéciaux du joueur] Effets de lecture de boîte à musique HTML5 MP3</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Effets spéciaux du menu de navigation d'animation de particules cool HTML5" href="https://www.php.cn/fr/toolset/js-special-effects/8069">[Navigation dans les menus] Effets spéciaux du menu de navigation d'animation de particules cool HTML5</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Code d'édition par glisser-déposer du formulaire visuel jQuery" href="https://www.php.cn/fr/toolset/js-special-effects/8068">[bouton de formulaire] Code d'édition par glisser-déposer du formulaire visuel jQuery</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Code du lecteur de musique Kugou imitation VUE.JS" href="https://www.php.cn/fr/toolset/js-special-effects/8067">[Effets spéciaux du joueur] Code du lecteur de musique Kugou imitation VUE.JS</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Jeu de boîte de poussée HTML5 classique" href="https://www.php.cn/fr/toolset/js-special-effects/8066">[effets spéciaux HTML5] Jeu de boîte de poussée HTML5 classique</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="défilement jQuery pour ajouter ou réduire des effets d'image" href="https://www.php.cn/fr/toolset/js-special-effects/8065">[Effets spéciaux d'image] défilement jQuery pour ajouter ou réduire des effets d'image</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Effet de zoom de survol de la couverture de l'album personnel CSS3" href="https://www.php.cn/fr/toolset/js-special-effects/8064">[Effets d'album photo] Effet de zoom de survol de la couverture de l'album personnel CSS3</a> </div> </li> </ul> <ul class="twof" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-source-code/8328" title="Modèle de site Web d'entreprise de services de nettoyage et de réparation de décoration intérieure" target="_blank">[Modèle frontal] Modèle de site Web d'entreprise de services de nettoyage et de réparation de décoration intérieure</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-source-code/8327" title="Modèle de page de guide de CV personnel aux couleurs fraîches" target="_blank">[Modèle frontal] Modèle de page de guide de CV personnel aux couleurs fraîches</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-source-code/8326" title="Modèle Web de CV de travail créatif de concepteur" target="_blank">[Modèle frontal] Modèle Web de CV de travail créatif de concepteur</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-source-code/8325" title="Modèle de site Web d'entreprise de construction d'ingénierie moderne" target="_blank">[Modèle frontal] Modèle de site Web d'entreprise de construction d'ingénierie moderne</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-source-code/8324" title="Modèle HTML5 réactif pour les établissements de services éducatifs" target="_blank">[Modèle frontal] Modèle HTML5 réactif pour les établissements de services éducatifs</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-source-code/8323" title="Modèle de site Web de centre commercial de boutique de livres électroniques en ligne" target="_blank">[Modèle frontal] Modèle de site Web de centre commercial de boutique de livres électroniques en ligne</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-source-code/8322" title="La technologie informatique résout le modèle de site Web d'entreprise Internet" target="_blank">[Modèle frontal] La technologie informatique résout le modèle de site Web d'entreprise Internet</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-source-code/8321" title="Modèle de site Web de service de trading de devises de style violet" target="_blank">[Modèle frontal] Modèle de site Web de service de trading de devises de style violet</a> </div> </li> </ul> <ul class="threef" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-materials/3078" target="_blank" title="Matériau vectoriel d'éléments d'été mignons (EPS+PNG)">[Matériau PNG] Matériau vectoriel d'éléments d'été mignons (EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-materials/3077" target="_blank" title="Matériel vectoriel de quatre badges de graduation rouges 2023 (AI+EPS+PNG)">[Matériau PNG] Matériel vectoriel de quatre badges de graduation rouges 2023 (AI+EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-materials/3076" target="_blank" title="Oiseau chantant et chariot rempli de fleurs design matériel vectoriel de bannière de printemps (AI + EPS)">[image de bannière] Oiseau chantant et chariot rempli de fleurs design matériel vectoriel de bannière de printemps (AI + EPS)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-materials/3075" target="_blank" title="Matériau vectoriel de chapeau de graduation doré (EPS+PNG)">[Matériau PNG] Matériau vectoriel de chapeau de graduation doré (EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-materials/3074" target="_blank" title="Matériel vectoriel d'icône de montagne de style noir et blanc (EPS+PNG)">[Matériau PNG] Matériel vectoriel d'icône de montagne de style noir et blanc (EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-materials/3073" target="_blank" title="Matériel vectoriel de silhouette de super-héros (EPS+PNG) avec des capes de couleurs différentes et des poses différentes">[Matériau PNG] Matériel vectoriel de silhouette de super-héros (EPS+PNG) avec des capes de couleurs différentes et des poses différentes</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-materials/3072" target="_blank" title="Matériel vectoriel de bannière Arbor Day de style plat (AI + EPS)">[image de bannière] Matériel vectoriel de bannière Arbor Day de style plat (AI + EPS)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-materials/3071" target="_blank" title="Matériel vectoriel de neuf bulles de discussion explosives de style bande dessinée (EPS+PNG)">[Matériau PNG] Matériel vectoriel de neuf bulles de discussion explosives de style bande dessinée (EPS+PNG)</a> </div> </li> </ul> <ul class="fourf" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-source-code/8328" target="_blank" title="Modèle de site Web d'entreprise de services de nettoyage et de réparation de décoration intérieure">[Modèle frontal] Modèle de site Web d'entreprise de services de nettoyage et de réparation de décoration intérieure</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-source-code/8327" target="_blank" title="Modèle de page de guide de CV personnel aux couleurs fraîches">[Modèle frontal] Modèle de page de guide de CV personnel aux couleurs fraîches</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-source-code/8326" target="_blank" title="Modèle Web de CV de travail créatif de concepteur">[Modèle frontal] Modèle Web de CV de travail créatif de concepteur</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-source-code/8325" target="_blank" title="Modèle de site Web d'entreprise de construction d'ingénierie moderne">[Modèle frontal] Modèle de site Web d'entreprise de construction d'ingénierie moderne</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-source-code/8324" target="_blank" title="Modèle HTML5 réactif pour les établissements de services éducatifs">[Modèle frontal] Modèle HTML5 réactif pour les établissements de services éducatifs</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-source-code/8323" target="_blank" title="Modèle de site Web de centre commercial de boutique de livres électroniques en ligne">[Modèle frontal] Modèle de site Web de centre commercial de boutique de livres électroniques en ligne</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-source-code/8322" target="_blank" title="La technologie informatique résout le modèle de site Web d'entreprise Internet">[Modèle frontal] La technologie informatique résout le modèle de site Web d'entreprise Internet</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/fr/toolset/website-source-code/8321" target="_blank" title="Modèle de site Web de service de trading de devises de style violet">[Modèle frontal] Modèle de site Web de service de trading de devises de style violet</a> </div> </li> </ul> </div> <script> var mySwiper = new Swiper('.swiper3', { autoplay: false,//可选选项,自动滑动 slidesPerView : 'auto', }) $('.wzrfourlTab>div').click(function(e){ $('.wzrfourlTab>div').removeClass('check') $(this).addClass('check') $('.wzrfourList>ul').css('display','none') $('.'+e.currentTarget.dataset.id).show() }) </script> </div> </div> </div> <footer> <div class="footer"> <div class="footertop"> <img src="/static/imghw/logo.png" alt=""> <p>Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!</p> </div> <div class="footermid"> <a href="https://www.php.cn/fr/about/us.html">À propos de nous</a> <a href="https://www.php.cn/fr/about/disclaimer.html">Clause de non-responsabilité</a> <a href="https://www.php.cn/fr/update/article_0_1.html">Sitemap</a> </div> <div class="footerbottom"> <p> © php.cn All rights reserved </p> </div> </div> </footer> <input type="hidden" id="verifycode" value="/captcha.html"> <script>layui.use(['element', 'carousel'], function () {var element = layui.element;$ = layui.jquery;var carousel = layui.carousel;carousel.render({elem: '#test1', width: '100%', height: '330px', arrow: 'always'});$.getScript('/static/js/jquery.lazyload.min.js', function () {$("img").lazyload({placeholder: "/static/images/load.jpg", effect: "fadeIn", threshold: 200, skip_invisible: false});});});</script> <script src="/static/js/common_new.js"></script> <script type="text/javascript" src="/static/js/jquery.cookie.js?1733254080"></script> <script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script> <link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css?2' type='text/css' media='all'/> <script type='text/javascript' src='/static/js/viewer.min.js?1'></script> <script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script> <script type="text/javascript" src="/static/js/global.min.js?5.5.53"></script> </body> </html>