Итак, я искал и не мог найти что-то, что я ищу именно.
Справочная информация о том, что я пытаюсь сделать:
У меня есть веб-сайт, который не требует ввода данных для входа, так как это конфиденциальный веб-сайт, и я не хочу, чтобы что-либо публиковалось с какой-либо ОДНОЙ учетной записью. Таким образом, я планирую эту работу, когда кто-то создает сообщение, вы должны заполнить форму, например … Заголовок — Информация — Ключевая фраза (простое слово) — Passcode (5 цифр от 10000 до 99999).
Теперь причина возможного доступа позже заключается в том, что они могут отредактировать или удалить сообщение после факта создания, не привязывая учетную запись, чтобы идентифицировать их, как указано выше.
У меня есть простой следующий код для редактирования кода, но как я могу сделать это, где говорят (passPhrase и passCode) должны совпадать, чтобы подтянуть связанные данные? У меня будет форма, прежде чем я получу доступ к странице редактирования, чтобы ввести правильную информацию.
Форма для доступа к странице редактирования
<div id="form-holder">
<form action="function/example.php" method="post">
<h3>Pass ID:</h3>
<input type="text" name="ID" id="ID">
<h3>Passcode:<br /></h3>
<input type="text" name="passcode" id="passcode">
<p><input class="button" type="submit" value="Edit"></p>
</form>
</div>
ОТРЕДАКТИРОВАТЬ СТРАНИЦУ:
<?php
$server = "*****";
$user = "*****";
$pass = "*****";
$dbname = "*****";
//Creating connection for mysqli
$conn = new mysqli($server, $user, $pass, $dbname);
//Checking connection
if($conn->connect_error){
die("Connection failed:" . $conn->connect_error);
}
$article_id = $_GET['id'];
if( ! is_numeric($article_id) )
die("Looks like you are lost! <a href='#'>Back to Home</a> ");
$query = "SELECT * FROM `DBname` WHERE `ID` =$article_id LIMIT 0 , 30";
$comments = mysqli_query($conn,$query);
while($row = mysqli_fetch_array($comments, MYSQL_ASSOC))
{
$title = $titleHere['title'];
$info = $infoHere['info'];
$title = htmlspecialchars($row['title'],ENT_QUOTES);
$info = htmlspecialchars($row['info'],ENT_QUOTES);
echo "<form action='function/update-post.php?id=$article_id' method='post'>";
echo "<h3>Title:</h3>";
echo "<input type='text' name='title' id='title' value='$title'>";
echo "<h3>info:</h3>";
echo "<textarea name='info' id='info'>$info</textarea>";
echo "<p><input class='button' type='submit' value='Update'></p>";
echo "</form>";
}
?>
Я нашел много руководств по решениям на основе учетных записей. Думаю, это то, что отличает этот запрос, — это отсутствие учетных записей. И пользователь действительно не имеет возможности узнать идентификатор ключа поста.
Любая помощь будет принята с благодарностью, и, надеюсь, другие выиграют от этого.
Вы используете базу данных для входа в систему и храните имя пользователя и пароль. Я бы пошел немного дальше и зашифровал пароль в БД, а затем во время входа зашифровал пароль. затем используйте оператор подсчета, чтобы увидеть, есть ли строка с паролем в стиле хеш-функции с именем пользователя. лучший способ использовать это pdo с подготовленными инструкциями, ох и отключить отчеты об ошибках в php, чтобы они не выводились в браузере, просто файл журнала должен записывать ошибку. для конфиденциальности, у вас просто нет этой информации в их таблице. Последняя задача, которую вам нужно будет выполнить, — настроить задачу cron для очистки журнала доступа к веб-сайту. Здесь IP-адреса регистрируются.
Также я бы изменил вашу форму на все типы сообщений, чтобы процесс редактирования не мог быть отмечен и отмечен как открытый для атаки. поэтому я удалил бы id из URL и привел бы его в форму следующим образом:
echo '<input type="hidden" name="id" value="'.$article_id.'" >';
Также вам следует санировать переменные записей пользователя на следующей странице php:
$var1=htmlentities($_POST['var1'], ENT_QUOTES);
Других решений пока нет …