gpt4 book ai didi

javascript - 当表单操作重定向到 404 页面时动态注入(inject) PHP

转载 作者:行者123 更新时间:2023-11-29 06:50:23 25 4
gpt4 key购买 nike

所以我正在做的是使用 JS 在文档中动态创建表单和输入元素,如下所示:

document.ondblclick = function(e) {
if (e.clientX < 50 && e.clientY > window.innerHeight - 50
&& !document.querySelector('form')) {
const b = document.body
const f = document.createElement('form')
const i = document.createElement('input')
b.style.width = '100vw'
b.style.height = '100vh'
b.style.margin = '0'
b.style.display = 'flex'
b.style.justifyContent = 'center'
b.style.alignItems = 'center'
i.setAttribute('type', 'password')
i.setAttribute('name', 'password')
i.setAttribute('id', 'form')
f.setAttribute('method', 'post')
f.setAttribute('action', '<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>')
f.appendChild(i)
b.appendChild(f)
i.focus()
i.onblur = function() {
i.focus()
}
}
}

但是,浏览器就好像忽略了 PHP,并且没有返回到当前文件,而是重定向到 404 页面。

下面是 HTML、PHP 和目录的文件结构。

<?php
session_start();
if ($_SERVER["REQUEST_METHOD"] === "POST" && !empty($_POST["password"])) {
include "php/connect.php";
$stri = "SELECT password FROM account";
$stat = $conn->prepare($stri);
$stat->execute();
$resu = $stat->fetch(PDO::FETCH_ASSOC);
if (password_verify($_POST["password"], $resu["password"])) {
$_SESSION["session"] = $resu["password"];
$conn = null;
echo 'SUCCESS';
}
$conn = null;
}
?>
<!DOCTYPE html>
<head>
<title>&lrm;</title>
<meta charset="UTF-8">
</head>
<body>
<script type="text/javascript" src="js/index.js"></script>
</body>
</html>

目录的结构如下...

public_html >
trading-toolbox >
css > index.css
js > index.js
php > connect.php
index.php

为什么会重定向到404页面?我在这里做错了什么?表单的action属性是用JS动态设置的,是否被视为字符串?

最佳答案

问题出在你的index.js 文件上。注意到文件结尾了吗? .js 是一个 javascript 文件,将被您的服务器视为静态文件,仅提供内容而不处理文件。最简单的解决方案是将其重命名为 index.php,然后像平常一样包含它:

<script type="text/javascript" src="js/index.php"></script>

关于javascript - 当表单操作重定向到 404 页面时动态注入(inject) PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47735891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com