PDA

View Full Version : سوال: شرمند حک شدم لطفا راهنمايي فرماييد



mostafa612003
شنبه 04 تیر 1390, 08:23 صبح
با سلام
از اين بابت گفتم شرمنده که واقعا براي يک برنامه نويس زشته که حک شده بشه

من يک فرم نظر سنجي داشتم يک نفر امده تگ img را در متن وارد کرده
چطور مي توانم از نوشتن تگ هکران جلوگيري کنم ؟

متشکرم

$ M 3 H R D A D $
شنبه 04 تیر 1390, 13:03 عصر
با تگ تصویر هک شدی ؟؟ یعنی چطوری ؟
strip_tag بده به متن

Army.Hidden
شنبه 04 تیر 1390, 13:27 عصر
سلام خدمت شما
حک [نادرست] هک [درست] ( البته نفوذ بهتر است )
دوست عزیز شما داده های ورودی رو فیلتر نکردید. یعنی سیستم شما توانایی این رو نداشته که از کد های که باعث تخریب در سایت و بانک اطلاعاتی میشن رو جلوگیری کنه.
این گونه حملات رو میشه گفت برگرفته از حملات XSS (http://www.google.com/search?client=ubuntu&channel=fs&q=XSS+attack&ie=utf-8&oe=utf-8) است.
اگر اطلاعات بیشتر بدید میتونیم کامل به شما کمک کنیم . ولی شما برای اولین کار میبایست کد های HTML و JavaScript رو فیلتر کنید.
من تابع زیر رو معرفی میکنم.

htmlspecialchars()


<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // &lt;a href='test'&gt;Test&lt;/a&gt;
?>

اطلاعات بیشتر :
http://ir.php.net/manual/en/function.htmlspecialchars.php


با تشکر
حسین

mostafa612003
شنبه 04 تیر 1390, 13:49 عصر
با سلام و تشکر
منظورم اين هست که در قسمت نظر به جاي اينکه متن بنويسند تگ img را نوشتند و عکس واردکردند

چطور ميتوانم با script قبل از اجراي فرم اجازه ثبت ندهم

مثل اسکريپتهايي که براي درست واردکردن ايميل استفاده مي شود

متشکرم

Army.Hidden
شنبه 04 تیر 1390, 21:40 عصر
با سلام و تشکر
منظورم اين هست که در قسمت نظر به جاي اينکه متن بنويسند تگ img را نوشتند و عکس واردکردند

چطور ميتوانم با script قبل از اجراي فرم اجازه ثبت ندهم

مثل اسکريپتهايي که براي درست واردکردن ايميل استفاده مي شود

متشکرم
دوست عزیز از کد زیر برای فیلتر کردن استفاده کن . با استفاده از این تابع دیگه کد های HTML و JS اچرا نمیشه.

<?php$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);echo $new; // &lt;a href='test'&gt;Test&lt;/a&gt;?>

Army.Hidden
شنبه 04 تیر 1390, 21:41 عصر
[QUOTE=Army.Hidden;1287573]دوست عزیز از کد زیر برای فیلتر کردن استفاده کن . با استفاده از این تابع دیگه کد های HTML و JS اچرا نمیشه.


<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // &lt;a href='test'&gt;Test&lt;/a&gt;
?>

mostafa612003
یک شنبه 05 تیر 1390, 08:56 صبح
با سلام
اين کد را هرجا بنويسم مشکلي نيست
در صفحه درج بنويسم يا در صفحه نمايش

متشکرم

رضا قربانی
یک شنبه 05 تیر 1390, 13:02 عصر
یه کم گنگ گفتی شاید من بد متوجه شده باشم

اینطور که معلومه شما از خاصیت فایل <input type="file" name="file" /> استفاده کردید . یعنی شخص می تونه با کلیک بر روی گزینه brows یه تصویری رو از سیستمش انتخاب کنه و بر روی هاست شما آپلود کنه که این عمل خیلی خطرناکه و باید همیشه امنیتی کدهاش رو بنویسید و براش محدودیت درج کنید . یه سرچی در مورد آپلود عکس با php بزنی متوجه می شه که چند نمونه سورس کد بهتون می دن که هر کدومشون به یه روش واستون آپلود رو انجام می ده .

ولی اگه توی فرم تکس شما اومدن و دستورات html یا اسکریپت اجرا کردن باز خودش یه بحث دیگه هست و شما باید ورودی ها رو دریافت کنید و بندازید داخل یه متغیر و اون متغیر رو با توابع گوناگون فیلتر کنید .
htmlspecialchars فقط از html جلوگیری می کنه . بازم امنیتی نمی شه .

mysql_escape_string , mysql_real_escape_string

و خیلی چیزهای دیگه.

بیشتر سرچ کن چیزای بهتری پیدا می کنی

موفق باشید