PDA

View Full Version : کد کردن آدرس url



mhq1368
سه شنبه 13 فروردین 1392, 08:28 صبح
با سلام


میخواستم بدونم چطوری میشه که بتونم آدرسی شبیه آدرس زیر رو به صورت کد شده به کاربر نشون بدم



displaysubjects.aspx?subid=2&topic=آموزش سیستم عامل ویندوز7&catid=1



دقیق نمیدونم اسم این کار چیه ولی میخوام بصورت کد شده باشه که کاربر تشخیص نده



ممنون میشم اگه کدی بلد هستین برام بزارین

مهدی رحیم زاده
سه شنبه 13 فروردین 1392, 09:10 صبح
با سلام دوست من
این موردی که شما گفتید ارسال پارامتر هست . یعنی شما یک سری پارامتر رو به روش get ارسال میکنید.در مورد رمز کردنشون هم میتونید قبل از ارسال پارامتر ها اونا رو کد کنید .
موفق و پیروز باشید

mhq1368
سه شنبه 13 فروردین 1392, 09:53 صبح
با سلام دوست من
این موردی که شما گفتید ارسال پارامتر هست . یعنی شما یک سری پارامتر رو به روش get ارسال میکنید.در مورد رمز کردنشون هم میتونید قبل از ارسال پارامتر ها اونا رو کد کنید .
موفق و پیروز باشید

سلام دوست عزیز

اگه میشه یه کدی براساس لینک بالا برام بزارین

ممنون

مهدی رحیم زاده
سه شنبه 13 فروردین 1392, 10:01 صبح
کد خاصی نداره دوست من
شما ارسال پارامتر رو جست و جو کنید مطالب بسیار زیادی رو بدست میارید. شما میتونید همین لینک رو داشته باشید فقط کافیه در صفحه مقصد با استفاده از request.querystring مقادیر پارامتر های ارسالی رو بدست بیارید و ازشون استفاده کنید.
موفق و پیروز باشید

mhq1368
سه شنبه 13 فروردین 1392, 11:33 صبح
کد خاصی نداره دوست من
شما ارسال پارامتر رو جست و جو کنید مطالب بسیار زیادی رو بدست میارید. شما میتونید همین لینک رو داشته باشید فقط کافیه در صفحه مقصد با استفاده از request.querystring مقادیر پارامتر های ارسالی رو بدست بیارید و ازشون استفاده کنید.
موفق و پیروز باشید


ببینید دوست گرامی من میخوام این آدرس بالا رو به این صورت که هست نبینه . به جاش یه حروف دیگه دیده بشه.


مثل این لینک



http://www.varzesh3.com/news.do?itemid=1005360&title=%D9%86%D8%AA%D8%A7%D9%8A%D8%AC_%D9%84%D9%8A% DA%AF_%DA%A9%D9%84%D8%A7%D8%B3%D9%88%D8%B1%D8%A7%D 9%8A_%D8%A2%D8%B1%DA%98%D8%A7%D9%86%D8%AA%D9%8A%D9 %86




که وقتی تو صفحه اول رو مطلب کلیک میشه به صورت بالا برای ما نمایش داده میشه حالا منم میخوام همین کار رو بکنم

fakhravari
سه شنبه 13 فروردین 1392, 13:58 عصر
/// <summary>
/// تبدیل به Decode کردن حرف
/// </summary>
/// <param name="Text">رشته URL</param>
public static string Url_Encode(string Text)
{
return System.Web.HttpContext.Current.Server.UrlEncode(Te xt);
}
/// <summary>
/// تبدیل به Decode کردن حرف
/// </summary>
/// <param name="Text">رشته URL</param>
public static string Url_Decode(string Text)
{
return System.Web.HttpContext.Current.Server.UrlDecode(Te xt);
}

mhq1368
چهارشنبه 14 فروردین 1392, 00:56 صبح
/// <summary>
/// تبدیل به Decode کردن حرف
/// </summary>
/// <param name="Text">رشته URL</param>
public static string Url_Encode(string Text)
{
return System.Web.HttpContext.Current.Server.UrlEncode(Te xt);
}
/// <summary>
/// تبدیل به Decode کردن حرف
/// </summary>
/// <param name="Text">رشته URL</param>
public static string Url_Decode(string Text)
{
return System.Web.HttpContext.Current.Server.UrlDecode(Te xt);
}



ممنون آقای فخرآوری


من وارد نیستم چطور باید ازش استفاده کنم. یه توضیحی می تونید بدین.


ممنون

kafinetetaha
چهارشنبه 14 فروردین 1392, 01:36 صبح
دوست من سوالت خیلی به جا بود
جناب فخاوری حالا چطور از کدی که زحمت کشید دادید استفاده کنیم؟

fakhravari
چهارشنبه 14 فروردین 1392, 02:00 صبح
:لبخند: بابا اشتباه دادم اصلا.
از این استفاده کنید.
public static string Encrypt(string Text)
{
byte[] Byte = System.Text.Encoding.UTF8.GetBytes(Text);
return Convert.ToBase64String(Byte);
}
public static string Decrypt(string Text)
{
byte[] MyByte = Convert.FromBase64String(Text);
return System.Text.Encoding.UTF8.GetString(MyByte);
}

یک مقدار ورودی بهش بده . خروجی به صورت Encrypt در می اید .
برای استفاده متن بده به Decrypt اصل نوشته میدت

mhq1368
چهارشنبه 14 فروردین 1392, 06:57 صبح
نه منظورم اینه که توی صفحه مبدا کد رو بزارم یا توی صفحه مقصد


مثلاً من روئ لینک که کلیک کردم توی صفحه اول وقتی کاربر میخواد مطلب رو کامل بخونه توی آدرس بار بهش کدشده رو نشون بده

fakhravari
چهارشنبه 14 فروردین 1392, 12:44 عصر
شما باید متغیر قبل ارسال کد کنید و کد روی ? url بفرستید.
در مقصد query string بخونید و دی کد کنید.

mhq1368
چهارشنبه 14 فروردین 1392, 13:20 عصر
میشه یه مثال بزنید


آخه من متغیرام توی html به صورت زیر نوشتم



<a class="tooltip"
href="DisplaySubjects.aspx?subid=<%#Eval("subject_id")%>&topic=<%#Eval("subject_topic")%>&catid=<%#Eval("cat_id")%>"
target="_self" >
<%#Eval("subject_topic")%>
<span><%#Eval("subject_date") %></span>
</a>




حالا با این تفاسیر چطور روی url بفرستمش

fakhravari
چهارشنبه 14 فروردین 1392, 13:38 عصر
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="CategoryID"
DataSourceID="SqlDataSource1" EmptyDataText="There are no data records to display."
Width="380px">
<Columns>
<asp:TemplateField>
<ItemTemplate>

<%#Eval("CategoryID")%> <br />

<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl='<%# String.Format("~/Display_PostID.aspx?TopicID={0}&CategoryName={1}" ,Encrypt(Eval("CategoryID").ToString()), Encrypt(Eval("CategoryName").ToString())) %>'
Target="_blank">
<%# Eval("CategoryName")%>
</asp:HyperLink>


</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
public static string Encrypt(string Text)
{
byte[] Byte = System.Text.Encoding.UTF8.GetBytes(Text);
return Convert.ToBase64String(Byte);
}
public static string Decrypt(string Text)
{
byte[] MyByte = Convert.FromBase64String(Text);
return System.Text.Encoding.UTF8.GetString(MyByte);
}

در مقصد برای مثال میخواهی از مقدار query string استفاده کنی قبلش باید Decrypt کنی
?TopicID=MQ==&CategoryName=2YXZh9mG2K/Ys9uMINmG2LHZhSDYp9mB2LLYp9ix
protected void Page_Load(object sender, EventArgs e)
{
try
{
Label1.Text = Decrypt(Request.QueryString["CategoryName"]);
Label2.Text = Decrypt(Request.QueryString["TopicID"]);

}
catch{}
}

kafinetetaha
چهارشنبه 14 فروردین 1392, 15:29 عصر
جناب فخاوری چرا تو لیبل گذاشتی ؟
تو فرم لود چطوری اینکریپت شده رو دی کریپت کنم؟
اگه میشه یه مثال بذارید

fakhravari
چهارشنبه 14 فروردین 1392, 15:58 عصر
فرقی نداره.
در کل هر جا میخواهید استفاده کنید باید public static string Decrypt استفاده کنید.

kafinetetaha
پنج شنبه 15 فروردین 1392, 01:34 صبح
جناب فخاوری من این کارو کردم ولی آدرس کد میشه ولی صفحه لود نمیشه
البته ذکر کنم که من query string ندارم صفحه اسمش ثابته
چطوری ازش استفاده کنم لطف کنید راهنمایی با مثال باشه

fakhravari
پنج شنبه 15 فروردین 1392, 11:51 صبح
شما مثال تو بزار.

kafinetetaha
جمعه 16 فروردین 1392, 00:31 صبح
دوست من اینو گذاشتم ولی درست کار نمیکنه


string url = Encrypt("rl_ghesmat.aspx");

Response.Redirect("rl_administrator/"+url);
این ارور رو داد
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.

fakhravari
جمعه 16 فروردین 1392, 00:50 صبح
دوست من اینو گذاشتم ولی درست کار نمیکنه


string url = Encrypt("rl_ghesmat.aspx");

Response.Redirect("rl_administrator/"+url);
:کف:
بابا جون گفتم query string کد کن نه کل ادرس که.

kafinetetaha
جمعه 16 فروردین 1392, 00:56 صبح
دوست من میدونم منظور شما چیه اگه بخوام کل آدرسو کد کنم چیکار کنم؟
مثل google