PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : سوال در مورد آپلود سنتر



varesan
April 20th, 2010, 13:52
با سلام
دوستان عزیز بنده یه سرویس وبلاگ دهی راه اندازی کردم و اومدم یه آپلود سنتر هم راه انداختم . آپلود سنتر روی یه سرور دیگه است و از طریق http://up.site.com اتصال دادم به دامین سایت وبلاگ دهی حالا بنده می خوام فقط کاربرانی که در سایت وبلاگ دهی عضو هستن بتونند فایل آپلود کنن . یعنی سیستم وبلاگ دهی طوری برنامه نویسی شده که فقط کاربرانی که با یوزر و پسورد وبلاگ وارد می شن بتونن از آپلود سنتر استفاده کنن . حالا مشکل اینجاست که چون آپلود سنتر بر روی یه سرور دیگه است نمی تونه یوزر رو شناسایی کنه و آپلود سنتر رو نشون کاربر بده . دوستان می تونید کمک کنید که باید چی کار کرد ؟

Rezash
April 20th, 2010, 14:08
ميتوانيد در سرور دوم از راه دور از ديتابيس سرور اولتان استفاده كنيد
يا راه بهتر اين هست كه با توابعي مثل curl در php برنامه رو بنويسيد كه كاربر رو در سرور دوم لوگين كنه

varesan
April 20th, 2010, 14:14
دوست عزیز در مورد هر 2 اگر بیشتر توضیح بدید ممنون میشم . راهنمایی کامل

Rezash
April 20th, 2010, 14:19
مورد اول:
به جاي 127.0.0.1 آي پي سرور اصلي يا آدرس سايت مانند site.com

$connection = mysql_connect('127.0.0.1','username','password') or die (mysql_error());
لان دومي رو هم ميذارم

Rezash
April 20th, 2010, 14:24
<?php
function cURL($url, $ref, $header, $cookie, $p)
{
$ch = curl_init();//start curl
curl_setopt($ch, CURLOPT_HEADER, $header); //trace header response
//curl_setopt($ch, CURLOPT_NOBODY, $header); //return body
curl_setopt($ch, CURLOPT_URL, $url); //curl Targeted URL
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_REFERER, $ref); //fake referer
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$userAgent = "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-us) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1";

curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
//if ($p) {
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $p);
//}
$result = curl_exec($ch);
curl_close($ch);
// if ($result)
return $result;
}
$ref='http://secondsite.com';
$p='username=test&password=test';
$ik=cURL("http://firstsite.com/upload_login.php",$ref,0,0,$p);

?>
كد بالا رو كپي كردم،تست كن ببين درست باشه چون خيلي وقته روش كار نكردم و براي اينكه باهاش به منظور مورد نظرت برسي بايد كمي روش كار كني

varesan
April 20th, 2010, 15:11
آقا خیلی گنگ گفتید این کد ها را تو کجا استفاده کنم ؟ کامل تر توضیح بدید ممنون میشم

varesan
April 20th, 2010, 15:20
ميتوانيد در سرور دوم از راه دور از ديتابيس سرور اولتان استفاده كنيد
يا راه بهتر اين هست كه با توابعي مثل curl در php برنامه رو بنويسيد كه كاربر رو در سرور دوم لوگين كنه

اخه دوست عزیز من نمی خوام در سرور دوم لوگین کنه . می خوام در سایت اصلی وبلاگ دهی که لوگین کرد با کلیک بر روی آپلود سنتر باز کنه و نشونش بده .

afrateam
April 20th, 2010, 15:29
خب در سرور 2 از دیتابیس سرور 1 استفاده کن و با الگوگیری از کدهای بالا طوری وانمود کن که کاربر لاگین کرده
این در صورتیه که میخوای مثلا فضای مصرف شده کاربر یا ... رو چک کنی و یا در دیتابیس تغییراتی ایجاد کنی
اگر تنها هدف اینه که فقط کاربری که لاگین کرده بتونه وارد آپلود سنتر بشه میتونی روی سرور 1 یه کوکی بریزی تو سیستم کاربر و تو سرور 2 ، رفر و کوکی رو چک کنی اگه اوکی بود آپلود سنتر رو نشون بدی اگه نه ریدایرکت کنی به صفحه لاگین یا هرجای دیگه...

varesan
April 20th, 2010, 15:34
خوب دوست عزیز بنده پیشنهاد اول که تیبل یوزر ها را روی سرور دوم قرار بدم امکانش نیست . در مورد پیشنهاد کوکی می تونید راهنمایی بیشتر کنید که به چه صورت کار کنیم .

varesan
April 20th, 2010, 22:15
دوستان عزیز منتظر جواب هستم .

afrateam
April 20th, 2010, 22:18
متاسفانه من زیاد php نمیدونم و نمیتونم کد بنویسم
کسی که php رو فول هست میتونه کل چیزی که گفتم (ریختن کوکی روی سیستم کاربر در سایت اول | چک کردن کوکی و رفر در سایت دوم) رو میتونه تو چند دقیقه بنویسه...

varesan
April 20th, 2010, 22:27
هم اکنون منتظر بقیه دوستان هستیم

Rezash
April 20th, 2010, 22:29
پيشنهاد جالبي نيست چون راحت ميشه كوكي ها رو دور زد
ببينيد با تابع curl اي كه گذاشتم مي تونيد كاري كنيد كه وقتي كاربر در سرور اول لوگين كرد درخواستي مبني بر لوگين در سرور دوم ارسال بشه
خود اين هم نياز به تاييده مجدد از سرور اول داره كه راحت سر سايت كلاه گذاشته نشه!
البته شايد ظاهرا پيچيده بياد ولي يك عمليات رفت و برگشتي ساده هست
در اين موارد امنيت خيلي اهميت داره.پيشنهاد مي كنم اين كار رو به يك برنامه نويس كاربلد بسپاريد يا حداقل قبلش خيلي در موردش تحقيق كنيد
در مورد تابع curl تحقيق كنيد تا كليتش دستتون بياد بعد اگر سوالي بود باز درخدمتم
پ.ن : البته با ساير توابع هم ميشه نوشت و ازوما نيازي به استفاده از curl نيست!

varesan
April 20th, 2010, 22:44
دوستان اینجا کسی نیست کمک کنه ؟

Sina7
April 21st, 2010, 15:04
دوستان اینجا کسی نیست کمک کنه ؟

hello جواب شما رو دادن ... در مورد curl تحقیق کنید !!

varesan
April 21st, 2010, 15:43
اخه مشکل اینجاست که آپلود سنتر مدام با تیبل یوزر وبلاگ ها در ارتباط است به خاطر همین فقط لوگین که نیست با curl بشه .

varesan
April 21st, 2010, 17:26
کسی اینجا کد remote sql داره برای آپلود سنتر از راه دور ؟

Rezash
April 21st, 2010, 19:24
مورد اول:

مورد اول:
به جاي 127.0.0.1 آي پي سرور اصلي يا آدرس سايت مانند site.com

$connection = mysql_connect('127.0.0.1','username','password') or die (mysql_error());

varesan
April 21st, 2010, 21:47
مورد اول:

عزیز این کد را تو فایل config استفاده کنم ؟ و تو کدوم فایل کانفیگ سرور که سیستم وبلاگ روشه یا سرور که آپلود سنتر روشه ؟

Rezash
April 22nd, 2010, 00:22
عزیز این کد را تو فایل config استفاده کنم ؟ و تو کدوم فایل کانفیگ سرور که سیستم وبلاگ روشه یا سرور که آپلود سنتر روشه ؟

بله
تو فايل config سرور اصلي كه به جاي آي پي يا ادرس سايت مي تونيد بنويسيد localhost (در اكثر موراد localhost مي باشد.) . ولي در سرور دوم در بخش اتصال به هاست اول از اين كد استفاده كنيد.
اگر قرار هست كه اسكريپت رو خودتون بنويسيد كه هيچ ولي اگر سيستم امده هست فايل كانفيگ رو مي تونيد بذاريد يا پ.خ كنيد تا بررسي كنم براتون.

varesan
April 22nd, 2010, 00:52
دوست عزیز مشکل ما اینه که داره اتصال نمیشه ! من فایل کانفیگ را براتون پ.خ کردم .

varesan
April 30th, 2010, 13:52
دوستان عزیز بنده می خواستم از طریق Ftp conect این کار رو انجام بدم . ممنون میشم راهنمایی کنید .

0x21HATE
April 30th, 2010, 18:03
ببین دوست عزیز .
راحتترین و ساده ترین و ایمین ترین راه اینه .
شما تویه سیستم وبلاگتون یه قسمت دارین واسه مدیریت فایل مگه نه مثلا کاربر میتونه فایل آ‍پلود کنه و این صحبتا.
حالا شما فقط یه اسکریپت فایل منیجیر مینیویسین که که با ftp به سرور دوم وصل بشه و عملیات مورد نظر رو انجام بده .
انگار کاربر انگار رو سرور دوم داره درخاست میده .
نمیدونم شما تا حالا فایل منیجیر ftp دیدین یا نه ولی این روش جواب شمااست.

برای اینکه منظور منو بفهمین سایت net2ftp - a web based FTP client (http://www.net2ftp.com) مشاهده کنید.
این سایت در واقع یه فایل منیجیر تحت وب هست که با ftp به سرور شما وصل میشه و امکان مدیریت فایل هاتونو تحت وب به شما میده .

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

0x21HATE
April 30th, 2010, 18:08
بازم تاکید میکنم
سراغ روش های دیگه مثل سوکت نویسی و استفاده از curl نرین

varesan
April 30th, 2010, 19:11
ببین دوست عزیز .
راحتترین و ساده ترین و ایمین ترین راه اینه .
شما تویه سیستم وبلاگتون یه قسمت دارین واسه مدیریت فایل مگه نه مثلا کاربر میتونه فایل آ‍پلود کنه و این صحبتا.
حالا شما فقط یه اسکریپت فایل منیجیر مینیویسین که که با ftp به سرور دوم وصل بشه و عملیات مورد نظر رو انجام بده .
انگار کاربر انگار رو سرور دوم داره درخاست میده .
نمیدونم شما تا حالا فایل منیجیر ftp دیدین یا نه ولی این روش جواب شمااست.

برای اینکه منظور منو بفهمین سایت net2ftp - a web based FTP client (http://www.net2ftp.com) مشاهده کنید.
این سایت در واقع یه فایل منیجیر تحت وب هست که با ftp به سرور شما وصل میشه و امکان مدیریت فایل هاتونو تحت وب به شما میده .

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

خوب سوال من اینه که این کد فایل منیجیر چیه ؟ که به سرور دوم وصل کنم ؟

0x21HATE
April 30th, 2010, 19:24
اگه برنامه نویس هستی و با php آشنایی داری میتونی خودت بنویسی
مرجع : PHP: FTP Functions - Manual (http://ir.php.net/manual/en/ref.ftp.php)
اگه لینک بالا رو ببینی و مثال هایی که نوشته رو بخونی همه چی دستت میاد .
البته من یه کلاسم واسش تو نت پیدا کردم که ضمیمه کردم واست .


اگه برنامه نویس نیستی باید اسکریپت شو پیدا کنی و بنصبی
مثلا من الان یه اسکریپت واست پیدا کردم .

PHP & FTP File Manager | Get PHP & FTP File Manager at SourceForge.net (http://sourceforge.net/projects/favshare-fm/)

ایشالا که دیگه واضحه گفته باشم

varesan
April 30th, 2010, 19:44
اگه برنامه نویس هستی و با php آشنایی داری میتونی خودت بنویسی
مرجع : PHP: FTP Functions - Manual (http://ir.php.net/manual/en/ref.ftp.php)
اگه لینک بالا رو ببینی و مثال هایی که نوشته رو بخونی همه چی دستت میاد .
البته من یه کلاسم واسش تو نت پیدا کردم که ضمیمه کردم واست .


اگه برنامه نویس نیستی باید اسکریپت شو پیدا کنی و بنصبی
مثلا من الان یه اسکریپت واست پیدا کردم .

PHP & FTP File Manager | Get PHP & FTP File Manager at SourceForge.net (http://sourceforge.net/projects/favshare-fm/)

ایشالا که دیگه واضحه گفته باشم

ممنون دوست عزیز چک میکنم ببینم به کجا می رسم .

varesan
June 29th, 2010, 23:27
دوستان عزیز یه مشکلی برای من پیش اومده اونم اینکه تا امروز این سرویس آپلود ما به ftp یه سرور دیگه اتصال بود و به راحتی کار می کرد . در حال حاظر اون سرور که ما از طریق ftp conect وصل بودیم اومده ftp را بسته و از SFTP یا به عبارتی SSH File Transfer Portocol و الان آپلود سنتر من داره کار نمی کنه . می خواستم ببینم دوستان می تونید کمک کنید که چطوری به SFTP وصل شد ؟ فایل CONFIG.PHP که من برای برنامه نوشتم اینه :

<?php
#############################
$host='localhost';
$user='USER DB';
$password='PASS';
$database="NAME DB";
//// Ftp Account
$ftp_server = 'IP SERVER UPLOAD';
$ftp_user_name='USER';
$ftp_user_pass='PASS';
$FTP_DOMAIN='ADDRES';
define(FTP_DOMAIN,"$FTP_DOMAIN");
////
$File_Size=(1*1024*1024);
#############################
$conn=mysql_connect($host,$user,$password);
if (!$conn) {
echo "ارتباط برقرار نیست" . mysql_error();
exit;}
mysql_select_db($database,$conn);
//mysql_query("SET CHARACTER SET utf8");


?>

---------- Post added at 11:27 PM ---------- Previous post was at 11:26 PM ----------

بنده طریقه اتصال از فایل کانفیگ به sftp را می خواستم .

varesan
June 30th, 2010, 09:29
دوستان کسی نیست کمک کنه ؟