提问人:Andy McRae 提问时间:6/22/2023 更新时间:6/22/2023 访问量:40
PHP文件如何从CSS执行
How PHP file gets executed from CSS
问:
我有一个简单的问题: 我目前正在为我的网站制作验证码验证表单,我遵循了一个教程,我看到要生成验证码格式的图像,style.css 调用了如下所示的 php 文件:
.captcha-input {
background: #FFF url(./../../captchaImageSource.php) repeat-y left center;
padding-left: 80px;
}
当我查看captchaImageSource.php文件时,我看到了这一点
<?php
namespace MyNameSpace;
use MyNameSpace\Captcha;
session_start();
include("./Model/Captcha.php");
$captcha = new Captcha();
$captcha_code = $captcha->getCaptchaCode(6);
$captcha->setSession('captcha_code', $captcha_code);
$imageData = $captcha->createCaptchaImage($captcha_code);
$captcha->renderCaptchaImage($imageData);
?>
验证码 .php 文件具有相关的验证功能,如 etc。
所以我看到 php 文件会生成验证码的图像,但我不明白为什么它甚至会被执行。CSS 会触发 php 文件吗?然后php会自己调用相关函数吗?createcaptchaImage
答:
4赞
ADyson
6/22/2023
#1
是的,如果您在 CSS 的规则中放置一个 URL,它会导致浏览器向该 URL 发送 HTTP 请求 - 您可以在浏览器的开发人员工具的网络工具中看到它。background
在这种情况下,这意味着 Web 服务器将执行该 URL 文件中的 php 代码。
然后,浏览器将尝试将脚本输出的数据用作图像。
编号: https://developer.mozilla.org/en-US/docs/Web/CSS/background
评论
0赞
Andy McRae
6/22/2023
谢谢。好的,我明白这个想法。当我更改其名称时,我在开发人员工具中看到了一个失败的 GET 请求。所以我想就是这样
评论