Изменить текст начальной загрузки с помощью кода asp.net

-3

Моя идея заключается в том, что пользователь регистрируется в "login" и "register" больше не будет замечен, и вместо этого он отобразит имя пользователя с именем на навигационной панели.

Разметка:

<ul class="nav navbar-nav">
  <li>
    <a href="#">Register<span class="glyphicon glyphicon-user"</span></a>
   </li>
   <li id="LoginBTN">
     <a href="#">Log in<span class="glyphicon glyphicon-log-in"></span></a>
   </li>
</ul>

Код позади:

protected void BTNLogIn_Click(object sender, ImageClickEventArgs e)
{
    SqlMyName SqlUser= new SqlMyName ();
    DataSet DsUser = new DataSet();
    string StUser = "SELECT TblUsers.User_Name, TblUsers.Pass FROM TblUsers WHERE (((TblUsers.User_Name)= '" + TXTUserName.Text + "') AND ((TblUsers.Pass)= '" + TXTPass.Text + "'));";
    DsUser = SqlUser.chkData(StUser);
    if (DsUser.Tables[0].Rows.Count > 0)
    {
        string StShowFname = "SELECT TblUsers.Fname FROM TblUsers WHERE (((TblUsers.User_Name)= '" + TXTUserName.Text + "'));"; 
        DataSet DsShowFname = SqlUser.chkData(StShowFname);

        //How can I unshow or change text of <li>?
     } 
} 

Что мне делать в коде?

  • 1
    Да, ты можешь. Это отвечает на ваш вопрос, верно? Так какой у тебя настоящий вопрос? Провели ли вы какие-либо исследования, чтобы увидеть, как можно определить, вошел ли пользователь в систему из кода позади, или как можно взаимодействовать с DOM из кода позади?
  • 0
    @mason Мой вопрос: как я могу сделать это с помощью кода? Я знаю, как проверить, вошел ли пользователь в систему, но что мне делать? Как мне изменить текст или сделать один из <li> disapper?
Показать ещё 2 комментария
Теги:
webforms

2 ответа

1
Лучший ответ

У вас есть ряд вопиющих проблем с вашим кодом.

Начните с безопасности, потому что это всегда должно быть вашим приоритетом номер 1. Вы храните пароли в открытом тексте на своем сервере. Любой злоумышленник, который получает доступ к вашему серверу, теперь как легкий доступ для входа в систему с этими учетными записями пользователей. И поскольку пользователи часто используют те же имя пользователя и пароль на моих сайтах, вы действительно натолкнули своих пользователей на серьезную проблему. Никогда не храните пароли в открытом виде в своей базе данных. Вместо этого вы должны одним способом использовать хэш и солить пароли. Это означает, что злоумышленнику будет сложно получить фактические пароли. Чтобы убедиться, что учетные данные пользователя действительны, вы можете применить одно и то же хеширование к предоставленному им паролю и сравнить его с хешированным значением. Если они совпадают, у пользователя есть правильный пароль, и вы можете позволить им войти в систему.

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

Имена ваших идентификаторов не соответствуют стандартным соглашениям об именах.NET. Когда вы делитесь кодом с другими, например, с переполнением стека, это становится очевидным и делает ваш код более трудным для чтения. Используйте PascalCase для имен функций. Используйте camelCase для локальных переменных. Не используйте сокращения.

Чтобы показать или скрыть элементы управления на стороне сервера, вы можете использовать свойство .Visible. Чтобы сделать элементы управления "серверной", вы можете добавить runat="server" к их разметке. Установка свойства Visible в значение false приведет к тому, что HTML не будет отображаться для этого элемента управления, и, таким образом, клиент не увидит его.

наценка

<ul class="nav navbar-nav">
  <li runat="server" id="RegisterButton">
    <a href="#">Register<span class="glyphicon glyphicon-user"</span></a>
   </li>
   <li id="LoginBTN" runat="server">
     <a href="#">Log in<span class="glyphicon glyphicon-log-in"></span></a>
   </li>
</ul>

Код позади:

RegisterButton.Visible = false;
LoginBTN.Visible = false;
  • 0
    Спасибо за помощь, она работает. Что касается безопасности, то это школьный проект, так что это не тот вопрос, спасибо в любом случае.
  • 1
    @ harel486 Да, это действительно важно. Если вы не изучаете реальную безопасность сейчас, когда вы планируете ее изучать?
Показать ещё 1 комментарий
-2

Я сделал это .aspx

  <ul class="nav navbar-nav pull-right">
                <li>
                    <p class="navbar-text">
                        <% =login %><li><% =logout %></li>
                    </p>
                </li>
     </ul>

.cs

if (userLogintatus == true)
        {
 login = string.Format("Welcome " + (string)Session["Name"])
            logout = "<a  href='../Account/Logout.aspx' style='color: red;'>Logout</a>";

        }
else logout = "";

Ещё вопросы

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