الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ماهو الخطأ في هذا الكود !

مغلق
بدأه KSA^Rashed في 10 أكتوبر 2006 · 3 رد · 682 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

ماهو الخطأ هنا

	  Dim i As Integer
		For i = 0 To TextBox1.Text.Length - 1
			If Asc(TextBox1.Text.Substring(i, 1)) = 34 Then
				TextBox2.Text = TextBox2.Text + "\" + TextBox1.Text.Substring(i, 1)
			Else
				TextBox2.Text = TextBox2.Text + TextBox1.Text.Substring(i, 1)
			End If
		Next

يطلع لي خطأ إذا وضعت هذا الكود في TextBox1

 
<p dir="ltr" align="center"><font color="#FF0000">
<span style="font-size: 100pt; font-weight: 700; font-style: italic; text-decoration: underline" lang="en-us">
Test</span></font></p>

يطلع لي هذا الخطأ

A potentially dangerous Request.Form value was detected from the client (TextBox1="<p dir="ltr" align="...").

#2

قم بتعديل السطر الاول فى الكود إلى

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="MyForm.aspx.vb" Inherits="Proj.MyForm" validateRequest="false"%>

مع تبديل MyForm بإسم الصفحه

يجب جعل validateRequest تساوى false حتى تتمكن من إدخال كود HTML فى textbox

تم تعديل هذه المشاركة بواسطة محمد عبد الغنى في 10 أكتوبر 2006 في 18:17

#3

هذة حالة تسمي منع تمرير اكواد خبيثة الي داخل التطبيق تستخدم في عمل اختراق للموقع cross site scripting حيث يقةم ال ASP.net بعمل اختبار للقيم المدخلة في التست بوكس للتاكد من خلوها من هذة الاكواد الخبيثة والتتي تتمثل في HTML Tags <> </> حيث يمنعها من اكمال تنفيذ الكود اذا وجدها عند عمل Validation لمحتويات التكست بوكس وهي خاصية مفعلة تلقائيا ويمكنك تعطيلها كما قمت انت اعتقد انك ستجد اعدادات اكثر في ملق web.config اكثر حرية في التعامل مع مثل هذة الحالات

ولكن عزيزي لماذا تحتاج الي ادخال كود html داخل تكست بوكس هل من الممكن ان تحدث عن فكرة التطبيق قليلا

#4

السلام عليكم

اقتباس
ولكن عزيزي لماذا تحتاج الي ادخال كود html داخل تكست بوكس هل من الممكن ان تحدث عن فكرة التطبيق قليلا

مثلا لو محتاج تعمل صفحه زي اللي بكتب فيها الرد علي الموضوع

المشكله هتكون لو عندي تكست عايز منه html

و تكست تاني مش عايز منه html و في نفس الصفحه

يعني عايز تعرض التكست زي ماهوه من غير ما ينفذ ال html code

عشان ميحصلش حاجه اسمها script injection

و كده نبقي محتاجين نعمل Encode للتكست ده قبل ما نعرضه خصوصا في حاله استخدام ال Label Control

SomeLabel.Text = Server.HtmlEncode(SomeHTMLText);

بفرض ان SomeHTMLText ممكن تكون بالشكل ده

<script language="javascript">alert('script executed')</script>

اما في حاله TextBox Control لا يسمح بتنفيذ ال Scripts او ال HTML code

بس في بعض الاحيان بنكون محتاجين نعمل Decode عشان يعرض ال HTML بشكلها الأصلي

فيه مثال في المرفقات

HTMLValidation.rar

هذا الموضوع مغلق.

مواضيع مشابهة