-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PDO layer and any questions ! #45
Comments
Hi!
https://github.com/fluxbb/database/tree/master this?
https://github.com/MioVisman/FluxBB_by_Visman/blob/master/include/functions.php#L1178-L1192
And it even seems fat :) In ForkBB I take into account other parameters to form a token: user id, ip and password + secret key + BASE_URL + time + file marker + form data.
I haven't tested SQLite on PHP 8.4. It seems to me that there were no changes from 8.3 to 8.4 for SQLite.
replace to
After this, a special transaction mode for SQLite will be enabled:
https://github.com/MioVisman/FluxBB_by_Visman/blob/master/include/dblayer/sqlite3.php#L75 Have your revisions included all the modifications from the original FluxBB 1.6 roadmap?
Thanks, but I already left FluxBB ;) |
##RU
|
Is the session cookie set in the browser when the post form is displayed? Does it not change on the post submission verification page? |
Ru : Проблема в том, что ошибка появляется только когда я раскомментирую эту строку в блоке try/catch: //check_csrf($_POST['csrf_hash']); Кроме того, достаточно раскомментировать её только один раз для теста, и я полностью ломаю систему. PHPSESSID не меняется между страницей формы и отправкой, независимо от того, раскомментирована ли строка, то есть сессия в порядке. Но у меня создается впечатление, что я непреднамеренно ввожу ошибку, связанную с: function check_csrf($token)
{
global $lang_common;
if (! is_string($token) || ! hash_equals($token, pun_csrf_token()))
message($lang_common['Bad csrf hash'], false, '404 Not Found');
// Логирование данных для отладки
var_dump([
'id' => $pun_user['id'],
'password' => $pun_user['password'],
'remote_address' => $remote_address,
'token' => $token
]);
} Мой var_dump здесь для отладки ^^ EN : The problem is that the issue only appears when I uncomment this line in my try/catch block: //check_csrf($_POST['csrf_hash']); Moreover, I only need to uncomment it once for testing, and it completely breaks the system. PHPSESSID does not change between the form page and submission, whether the line is uncommented or not, so the session is fine. But I feel like I am unintentionally introducing a bug related to: function check_csrf($token)
{
global $lang_common;
if (! is_string($token) || ! hash_equals($token, pun_csrf_token()))
message($lang_common['Bad csrf hash'], false, '404 Not Found');
// Logging data for debugging
var_dump([
'id' => $pun_user['id'],
'password' => $pun_user['password'],
'remote_address' => $remote_address,
'token' => $token
]);
} My var_dump is here for debugging ^^ FR le problème c'est que le soucis apparait seulement quand je décommente une fois cette ligne dans mon block try/catch :
de plus il suffit que je la décommente une seul fois pour des test et je casse entièrement le système. PHPSESSID ne change pas entre la page du formulaire et l'envoie , que la ligne soit décommentée ou non donc la session est Ok.
mon vardump est la pour debugage ^^ |
I don't use the check_csrf() function in my code. |
Ой, ну я глупый(ая)! Правда, так это работает гораздо лучше. Oh, but I'm silly! It's true that it works much better this way. non mais je suis bête c'est vrai que comme cela ça marche beaucoup mieux : try {
// Test CSRF token
validate_csrf_token(); // Exception si le token est invalide
// Vérification du Referer
confirm_referrer('post.php'); // Exception si le Referer est invalide
// Si tout est valide, traiter le formulaire
echo "Le formulaire a été soumis avec succès !";
} catch (Exception $e) {
// Gestion des erreurs
echo "Erreur : " . $e->getMessage();
} Alright, I'm going to add the missing hidden inputs to the rest of the script! Хорошо, я добавлю недостающие скрытые поля в остальную часть скрипта! Bon, je vais aller ajouter les inputs hidden manquants dans le reste du script ! |
Hi, I’d like to know if you have any information regarding one of the official FluxBB repositories, specifically the one that might help implement PDO.
Do you think it’s relevant to implement such a feature?
I have another question regarding CSRF protection using HTTP referrers.
Wouldn’t it be more secure to tie forms to tokens?
One last question to bother you: all the revisions you included today seem to be updates to maintain PHP, MySQL, etc.
Is the SQLite3 version fully functional?
Have your revisions included all the modifications from the original FluxBB 1.6 roadmap?
https://web.archive.org/web/20220812065625/https://fluxbb.org/development/core/tickets/?m=33&s=all
I’m in the process of transforming the table system into definition lists to improve readability on e-readers and SEO, as well as converting everything to HTML5. If you're interested, I haven’t pushed this to GitHub yet, but I could share the source files with you if you’d like to study them, and later I could propose a merge when I think it’s functional.
Thanks in advance for your reply!
And sorry for the translation! I'm french ^^
// RU
Привет! Мне хотелось бы узнать, есть ли у тебя информация об одном из официальных репозиториев FluxBB, а именно о том, который может помочь с внедрением PDO.
Как ты думаешь, есть ли смысл реализовать такую функцию?
У меня есть ещё один вопрос о защите CSRF с использованием HTTP referrer.
Не было бы безопаснее привязать формы к токенам?
И последний вопрос, чтобы тебя ещё немного побеспокоить: все изменения, которые ты включил сегодня, кажутся обновлениями для поддержки PHP, MySQL и т.д.
Версия SQLite3 полностью функциональна?
Твои изменения включили все модификации из оригинальной дорожной карты FluxBB 1.6?
https://web.archive.org/web/20220812065625/https://fluxbb.org/development/core/tickets/?m=33&s=all
Я сейчас преобразую систему таблиц в списки определений, чтобы улучшить читаемость на ридерах и SEO, а также перевожу всё на HTML5. Если тебе интересно, я пока не выкладывал это на GitHub, но могу поделиться исходниками, если хочешь их изучить. Позже я могу предложить merge, когда посчитаю, что всё работает корректно.
Заранее спасибо за ответ!
И извиняюсь за перевод!
The text was updated successfully, but these errors were encountered: