Скрыть get php url

0

У меня есть динамическая таблица, состоящая из всех деталей пользователя, а также ссылка на клик по ней направляется на другую страницу, где мы можем просмотреть подробную информацию о конкретном курсе конкретного пользователя. Моя проблема в том, что я хочу скрыть идентификатор и не могу использовать метод post. Также есть способ скрыть URL-адрес или любой способ сделать это

echo "<td>"  . $lead['lastname'] . "</td>";
echo "<td>" .'<a href="course_complete_sup.php?id'.$row1['userid'].'" class="lien2" value='.$row1['userid'].'/>Course Completed</a>' ."</td>" ;
echo "<td>" .'<a href="course_progress_sup.php?id='.$row1['userid'].'" class="lien2" value='.$row1['userid'].'/>Course Progress</a>' ."</td>" ;
echo 

спасибо

  • 0
    Идентификатор основан на текущем вошедшем в систему пользователе?
  • 2
    Безопасность через неизвестность! == безопасность. Вы должны сделать свое приложение безопасным, а не скрывать необходимую, но, вероятно, легко угадываемую информацию.
Показать ещё 7 комментариев
Теги:
url
get

3 ответа

-2
Лучший ответ

ok я использовал метод регентства.

$_ SESSION ['rand_seed'] = rand (1,100000);

echo ". $lead ['lastname']." ";

echo "<td>" .'<a href="course_complete_sup.php?id='.md5($row1['userid']).$_SESSION['rand_seed'].'" class="lien2" value='.$row1['userid'].'/>Course Completed</a>' ."</td>" ;

тогда, когда он направляет страницу course_complete_sup.php

$ids = $_GET ['id'];   $ salt= $_SESSION ['rand_seed'];   unset ($ _SESSION ['rand_seed']);

if ($salt < 1)
{
  header("location: access-denied.php");

}

еще {

 list($var1) = explode($salt, $ids, 2);

}


$encrypt = mysql_query("select distinct(userid)  from course_complete ");
{
while($row = mysql_fetch_array($encrypt))
{

  $r= md5($row['userid']);
   if( $r== $var1){
                $id = $row['userid'];
   } 

}

}

И это работает!!!!!!!!!!

спасибо regality и u все...

Cheersssssss

0

Нет, если вы используете GET, параметры будут отображаться в URL-адресе. Вы можете попробовать перенаправить сразу, но это не помогает, если проблема с безопасностью.

Есть ли конкретная причина, по которой вы не можете использовать POST? Это действительно будет способ, если вам нужно скрыть эту информацию.

  • 4
    даже POST не может скрыть информацию, это все общедоступные данные.
  • 0
    у меня есть две страницы 1 для полного и 1 для прогресса из 2-х разных ссылок .. для самих мер безопасности, мне нужно скрыть их ...
-4

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

Например, вы можете создать следующую ссылку:

'<a href="newaction.php?action='.md5("user_id=" . $row1['userid'])).'" class="lien2" />Course Progress</a>'

и не зная ничего о вашем php-коде, я бы предположил, что вы можете сделать что-то вроде следующего в newaction.php:

<?php
// ... a bunch of code ...
if ($_GET['action'] == md5("user_id=" . $row1['userid'])) {
    course_progress_sup($row1['userid']);
}
// .. a bunch more code ...
?>

Я напоминаю вам, что это плохая идея, и вы должны переосмыслить, как вы собираетесь это делать, но вы могли бы сделать что-то подобное, если бы вам пришлось.

  • 0
    чтобы получить это, мы должны зашифровать идентификатор на целевой странице, используя sql, и сопоставить идентификатор GET ... это займет много времени ... но это гадкая идея ... но оно останется статичным, так как любое число может быть зашифровано в md5
  • 0
    если это проблема, то вы можете использовать случайное начальное число в хэше. Вы можете сделать: $ _ SESSION ['rand_seed'] = rand (1 100 000); и затем поместите это в каждый md5: .... href = "newaction.php? action = '. md5 (" user_id = ". $ row1 [' userid ']). $ _SESSION [' rand_seed ']).'" CLAS .....
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню