Скрыть get php url - PullRequest
       7

Скрыть get php url

0 голосов
/ 17 января 2011

У меня есть динамическая таблица, состоящая из всех пользовательских данных, а также ссылка, по которой она переходит, на другую страницу, где мы можем просмотреть подробные сведения о конкретном пользователе, относящиеся к конкретному курсу. Моя проблема в том, что я хочу скрыть идентификатор и не могу использовать метод 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 

Thx

Ответы [ 3 ]

0 голосов
/ 17 января 2011

Единственный способ не дать пользователю увидеть 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 голосов
/ 17 января 2011

хорошо, я использовал метод регулярности ..

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

echo "".$ lead ['фамилия']."";

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");

}

else {

 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'];
   } 

}

}

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

Thx закономерность и все ...

Cheersssssss

0 голосов
/ 17 января 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...