PDA

View Full Version : به دست آوردن ip



alirezador
سه شنبه 01 فروردین 1385, 14:14 عصر
سلام دوستان فرض کنید ما یک صفحه از سایتمان را برای سایت دیگر میخواهیم از طریق iframeبفرستیم ولی چون نمی خواهیم این صفحه توسط دیگران در سایتهای دیگر نیز استفاده شود میخواهیم ip سایت متقاضی صفحه ما را در بیاوریم و قبل از فرستادن اطلاعات آن را چک بکنیم
با چه دستوری ip و domain سایت متقاضی را به دست بیاوریم

Ariyan
سه شنبه 01 فروردین 1385, 15:48 عصر
$IP=$_SERVER['REMOTE_ADDR']
$ِDomain = gethostbyaddr($IP);

alirezador
سه شنبه 01 فروردین 1385, 16:34 عصر
سلام خیلی ممنونم که جوابم را دادید ولی این ip کاربر کسی که سایت در کامپیوترش بالا میاد را در میاره نه ip سایت را
آیا راه دیگه ای به ذهنتون میرسه ممنون میشم اگه کمکم کنید
یعنی در حقیقت سایت را یک ping بکنه

alirezador
چهارشنبه 02 فروردین 1385, 13:55 عصر
آرین جان چرا نوشته هات را پاک کردی این مسئله خیلی خستم کرده لطفا اگه چیزی به دست آوردی ممنون میشم بهم بگی

cybercoder
جمعه 04 فروردین 1385, 21:14 عصر
خوب اگه می خوای Ping کنی دستور Ping رو رو سرور اجرا کن و نتیجه رو بذار تو سایت البته ممکنه طرف ICMP رو یه طرفه کرده باشه که برای وب سایت ها بعیده.

alirezador
جمعه 04 فروردین 1385, 23:32 عصر
آخه مشکل اینجاست که آدرس سایتی که صفحه ما را از طریق Iframe باز میکنه را نمیدونم و میخوام هر 2 تا را به دست بیارم هم ip هم اسم domain

Ariyan
شنبه 05 فروردین 1385, 01:41 صبح
امتحان کردم جواب داده!


<html>
<body>
<?php
if ($u!=""){
$HostName=$u;
$IP=gethostbyname($HostName);
if ($u=="www.YourSite.Com"){
//Your Code Here ...
}else{
print "Invalid Host Name :-(";
}
}else{
print "<script language=\"javascript\">
h = top.location.hostname;
self.location.href=self.location.href+\"?u=\"+h+\"&\";
</script>\n";
}
?>
</body>
</html>

spsgorgan
شنبه 05 فروردین 1385, 02:04 صبح
if ($u=="www.YourSite.Com"){

اینجاش فکر کنم باز ایراد داره ! چون ما نمی دونیم همین YourSite چه سایتی هست !

armin390
شنبه 05 فروردین 1385, 02:49 صبح
سلام دوستان فرض کنید ما یک صفحه از سایتمان را برای سایت دیگر میخواهیم از طریق iframeبفرستیم ولی چون نمی خواهیم این صفحه توسط دیگران در سایتهای دیگر نیز استفاده شود میخواهیم ip سایت متقاضی صفحه ما را در بیاوریم و قبل از فرستادن اطلاعات آن را چک بکنیم
سلام
وقتی از صفحه وب X با iframe صفجه خاصی از سایت شما نشان داده می شه "ساده ترین و سر راست ترین" راه برای اینکه بفهمید این X چی بوده استفاده از

$_SERVER['HTTP_REFERER']
البته اگه از این راه به تنهایی برای اعمال محدودیت استفاده کنی کارآمد نیست!



امتحان کردم جواب داده!

کد:

<html><body><?php if ($u!=""){ $HostName=$u; $IP=gethostbyname($HostName); if ($u=="www.YourSite.Com"){ //Your Code Here ... }else{ print "Invalid Host Name :-("; } }else{ print "<script language=\"javascript\"> h = top.location.hostname; self.location.href=self.location.href+\"?u=\"+h+\"&\"; </script>\n"; }?></body></html>


چطور ممکنه ""=!u$ بشه؟!(تو اسکریپتت جایی این متغیر مقدار نگرفته)

armin390
شنبه 05 فروردین 1385, 03:09 صبح
عجله کردم و کد جاوااسکرپتت رو ندیدم؛
باید رجیستر گلوبال فعال باشه

Ariyan
شنبه 05 فروردین 1385, 03:10 صبح
اینجاش فکر کنم باز ایراد داره ! چون ما نمی دونیم همین YourSite چه سایتی هست ! هدف اینه که ببینیم آیا سایتی خاص صفحه را لود کرده یا سایتی دیگه ، پس آدرسشو داریم.

سلام
وقتی از صفحه وب X با iframe صفجه خاصی از سایت شما نشان داده می شه "ساده ترین و سر راست ترین" راه برای اینکه بفهمید این X چی بوده استفاده از
کد:

$_SERVER['HTTP_REFERER']

البته اگه از این راه به تنهایی برای اعمال محدودیت استفاده کنی کارآمد نیست! اکثرا جواب نمیده !

چطور ممکنه ""=!u$ بشه؟!(تو اسکریپتت جایی این متغیر مقدار نگرفته) اگر دقت کنی میبینی که u$ همون پارامتری است که از طریق متد GET به صفحه ارسال میشه و من بجای ['HTTP_GET_VARS['u$ فقط از u$ استفاده کرده ام!

armin390
شنبه 05 فروردین 1385, 03:16 صبح
اکثرا جواب نمیده !


یعنی چه؟

Ariyan
شنبه 05 فروردین 1385, 03:19 صبح
یعنی چه؟
یعنی اکثر سرور هایی که من تا بحال دیده ام این متغییر را ست نکرده اند.

armin390
شنبه 05 فروردین 1385, 03:22 صبح
شما چه (وب)سرور هایی دیدید که این متغیر رو ساپورت نمی کنن؟

Ariyan
شنبه 05 فروردین 1385, 03:26 صبح
تقریباً همشون ولی این مهم نیست که کدوم مهم اینه که این روش منسوخ میشه .
در ضمن این مقدار را به راحتی میتوان تغییر داد.

armin390
شنبه 05 فروردین 1385, 03:31 صبح
البته اگه از این راه به تنهایی برای اعمال محدودیت استفاده کنی کارآمد نیست!


تقریباً همشون

خوب چون من هم تا بحال اکثراً با Apache به عنوان وب سرور استفاده کردم می گم ساپورت می کنه!
همشون یعنی کدوما؟
IIS یا ...

alirezador
شنبه 05 فروردین 1385, 07:29 صبح
سلام دوستان به خدا از خوشهالی دارم میمیرم وقتی میبینم که تو جمع دوستان خوبی مثل شما هستم از همتون ممنونم که به مشکل من توجه کردین امیدوارم که بتونم جبران

armin390
شنبه 05 فروردین 1385, 13:04 عصر
این ره که می رویم به کجا می رویم!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!
اصلاً چه ربطی به وب سرور داره که هدر Referer رو ست کنه!
این وظیفه(ست کردن این هدر) مربوط به کلاینت(مرورگره)!؟!

alirezador
شنبه 05 فروردین 1385, 16:55 عصر
دوستان توی help php زده که این دستور مال ورژنهای 4 هستش احتمال داره آقا آرین از سروری استفاده کرده که ورژن 5 یا مثلا 3 بوده که این دستور کار نکرد

ولی باز هم یک مشکل هست آقا آرمین دستور http_Referer وقتی 2 تا iframe تو در تو داشته باشی جواب نمیده یعنی فقط یک مرحله بالا تر را جواب میده

armin390
شنبه 05 فروردین 1385, 19:07 عصر
دوستان توی help php زده که این دستور مال ورژنهای 4 هستش احتمال داره آقا آرین از سروری استفاده کرده که ورژن 5 یا مثلا 3 بوده که این دستور کار نکرد
چه دستوری؟



ولی باز هم یک مشکل هست آقا آرمین دستور http_Referer وقتی 2 تا iframe تو در تو داشته باشی جواب نمیده یعنی فقط یک مرحله بالا تر را جواب میده

هر تعداد باشه خوب هر iframe یک هدر referer مخصوص به خود داره که آدرس بالایی رو داره

alirezador
شنبه 05 فروردین 1385, 19:28 عصر
خوب فرض کنید که یک پیج هست که از طریق 2 تا iframe تو در تو باز شده چون صفحه اصلی مال سایت ما هست وقتی دستور$_server[' http_Referer '] را میزنی فقط آدرس iframe اول را میده یعنی در حقیقت فرد اول را شناسایی میکنه فرد اصلی که iframe دوم را داره آدرسش چطوری باید معلوم بشه ؟

armin390
شنبه 05 فروردین 1385, 22:57 عصر
قاعدتاً از این طریق نمی شه!
ولی چرا باید بدونید!!

alirezador
یک شنبه 06 فروردین 1385, 10:26 صبح
چون توی سایتم یک تعداد صفحات را در اختیار اعضای سایتم قرار میدم که توی سایتشون بزارن و از طریق آدرس سایتشون میفهمم که کاربر خودم هستند ولی صفحه iframe اون ها را بعضی ها در حالت خاص کش میرن و 2 تا iframe تو در تو خواهد شد حالا من چطوری میتونم آدرس فرد متقلب را گیر بیارم

Ariyan
سه شنبه 08 فروردین 1385, 00:53 صبح
1.کد بالا آدرس فریم اصلی رو میده!
2. HTTP_REFERER بدرد نمیخوره چون اگه Client فایروال داشته باشه این مقدار از header حذف میشه!

alirezador
سه شنبه 08 فروردین 1385, 14:26 عصر
خوب اگر طرف زرنگ باشه که حتما هست میتونه سریع u را خودش پر کنه و خیلی سریع لو میره

alirezador
سه شنبه 08 فروردین 1385, 14:26 عصر
خوب اگر طرف زرنگ باشه که حتما هست میتونه سریع u را خودش پر کنه و خیلی سریع لو میره