Как несколько раз опубликовать PHP форму загрузки для аутологичных кактусов?

У меня есть HTML и JavaScript-код, как это.

<form action="http://MYCACTI/cacti/logout.php" name="logout_cacti" method="post"></form>
<form action="http://MYCACTI/cacti/" name="auth_cacti" method="post">
<input type="hidden" name="action" value="login">
<input type="hidden" name="realm" value="local">
<input type="hidden" name="login_username" value="guest">
<input type="hidden" name="login_password" value="guest">
</form>
<script>
window.onload = PageLoad;
function PageLoad(){
Logout();
Login();
}
function Logout(){
setTimeout(document.forms['logout_cacti'].submit(), 4000);
}
function Login(){
setTimeout(document.forms['auth_cacti'].submit(), 4000);
}
</script>

Вопрос в том, что я хочу сделать autologin cacti в iframe, и проблема в том, что если сеанс в cacti разрушен или если мы уже вышли из cacti, скрипт работает нормально, он может перейти на сайт автоматически. Но если мы уже выполнили вход в cacti, появляется следующее сообщение об ошибке.

Вам не разрешен доступ к этому разделу Кактусов. Если ты чувствуешь
что вам нужен доступ к этому конкретному разделу, пожалуйста, свяжитесь с
Кактус администратор.

Я реализовал JavaScript window.onload но ничего удачного, это выход из firebug.

поджигатель

Спасибо.

4

Решение

Спасибо @Manchary Manchaary за совет, после того, как я наконец-то ищу, я использую файл, который служит сеансом для решения моей проблемы.

Вот код части в моих кактусах, auth_login.php

/* Process the user  */
if (sizeof($user) > 0) {
cacti_log("LOGIN: User '" . $user["username"] . "' Authenticated", false, "AUTH");
db_execute("INSERT INTO user_log (username,user_id,result,ip,time) VALUES (" . $cnn_id->qstr($username) . "," . $user["id"] . ",1,'"$
/* is user enabled */
$user_enabled = $user["enabled"];
if ($user_enabled != "on") {
/* Display error */
auth_display_custom_error_message("Access Denied, user account disabled.");
exit;
}

/* set the php session */
$_SESSION["sess_user_id"] = $user["id"];
$sharesession = fopen("/var/www/html/session/session", "w") or die("Unable to open file!");
fwrite($sharesession, "start");
fclose($sharesession);

Я добавил php-код для сохранения сессии, если пользователь уже авторизован, код сделан php write «Начните» в файл под названием session,

И тогда вот мой новый код PHP cacti2.php для iframe на моем сайте.

<?php
$sharesession = fopen("/var/www/html/session/session", "r") or die("Unable to open file!");
$session = fread($sharesession,filesize("/var/www/html/session/session"));
fclose($sharesession);

if ($session == "start"){
header("Location: http://MYCACTI/cacti/graph_view.php?action=tree&tree_id=1&leaf_id=8&select_first=true");
}
else {
?>
<form action="http://MYCACTI/cacti/" name="auth_cacti" method="post">
<input type="hidden" name="action" value="login">
<input type="hidden" name="realm" value="local">
<input type="hidden" name="login_username" value="soc">
<input type="hidden" name="login_password" value="telkom">
</form>
<script>
window.onload = PageLoad;
function PageLoad(){
Login();
}
function Login(){
setTimeout(document.forms['auth_cacti'].submit(), 4000);
}
</script>
<?php
}
?>

во-первых, php будет читать файл с именем session, если session файл содержит «Начните», тогда он автоматически перейдет на сайт с графиком кактусов, но если файл сеанса содержит «стоп», это автоматически отправит с аутентификацией в форме.

Обрабатывать, session файл после выхода из системы, я добавил код на моем сайте кактусов, logout.php

include("./include/auth.php");

api_plugin_hook('logout_pre_session_destroy');

/* Clear session */
setcookie(session_name(),"",time() - 3600,"/");
session_destroy();
$sharesession = fopen("/var/www/html/session/session", "w") or die("Unable to open file!");
fwrite($sharesession, "stop");
fclose($sharesession);

написать «стоп» в session файл, так что мой cacti2.php Можно прочитать файл, если пользователь уже вышел из системы, надеюсь, эта помощь для других, спасибо.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]