Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Αν δεν μου σπάσει τα νεύρα δεν πρόκειται να γίνει δουλειά. Υπάρχουν και άλλα αλλα δεν πρέπει να χρησιμεύουν γτ απο οτι βλέπω είναι για εικόνες και το css που δεν με νοιάζει :P Έχω κρύψει κωδικούς κτλ για πορφανείς λόγους(ελπίζω να μην ξέφυγε τίποτα :P). Αυτό που σκεέφτομαι είναι:

 

1. ανοίγει αυτό το λινκ https://cronos.cc.uoi.gr/unistudent/login.asp

2. ζητάω απο το /unistudent/login.asp στον server να επιβεβαιώσει τα στοιχεία

3. Location: /unistudent/studentMain.asp?mnuID=student είναι η διεύθυνση που κατευθύνομαι μετα απο το Login.

 

σκέφτομαι κάτι λανθασμένα? :/ Συμφωνα με την λογική μου στο πρώτο curl βάζω:

>
https://cronos.cc.uoi.gr/unistudent/login.asp

και στο δέυτερο:

>https://cronos.cc.uoi.gr/unistudent/studentMain.asp?mnuID=student

 

Ελπίζω να έχω αναφέρει αρκετές πληροφορίες και να μην τα μπέρδεψα περισσότερο.

 

>
https://cronos.cc.uoi.gr/unistudent/login.asp

POST /unistudent/login.asp HTTP/1.1
Host: cronos.cc.uoi.gr
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:12.0) Gecko/20100101 Firefox/12.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: https://cronos.cc.uoi.gr/unistudent/
Cookie: login=True; ASPSESSIONIDCCSAQBTD=ONKPGCOCJPCKCFPPEHLEICAI; ASPSESSIONIDAARCRATD=AGIPJDIDFLGCGKAGOJEIKBOH
Content-Type: application/x-www-form-urlencoded
Content-Length: 75
userName=έναωραίοόνομα&pwd=έναςωραίοςκωδικός&submit1=%C5%DF%F3%EF%E4%EF%F2&loginTrue=login

HTTP/1.1 302 Object moved
Date: Fri, 25 May 2012 23:16:31 GMT
Server: Microsoft-IIS/6.0
MicrosoftOfficeWebServer: 5.0_Pub
X-Powered-By: ASP.NET
Pragma: no-cache
Cache-Control: private, private
Location: /unistudent/studentMain.asp?mnuID=student
Content-Length: 162
Content-Type: text/html
Expires: Thu, 24 May 2012 23:16:30 GMT
Set-Cookie: login=True; path=/unistudent
----------------------------------------------------------
https://cronos.cc.uoi.gr/unistudent/studentMain.asp?mnuID=student

GET /unistudent/studentMain.asp?mnuID=student HTTP/1.1
Host: cronos.cc.uoi.gr
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:12.0) Gecko/20100101 Firefox/12.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: https://cronos.cc.uoi.gr/unistudent/
Cookie: login=True; ASPSESSIONIDCCSAQBTD=ONKPGCOCJPCKCFPPEHLEICAI; ASPSESSIONIDAARCRATD=AGIPJDIDFLGCGKAGOJEIKBOH

HTTP/1.1 200 OK
Date: Fri, 25 May 2012 23:16:31 GMT
Server: Microsoft-IIS/6.0
MicrosoftOfficeWebServer: 5.0_Pub
X-Powered-By: ASP.NET
Pragma: no-cache, no-cache
Cache-Control: private, private, private
Content-Length: 27094
Content-Type: text/html
Expires: Thu, 24 May 2012 23:16:30 GMT

  • Απαντ. 73
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Συχνή συμμετοχή στο θέμα

Δημοσ.

Λοιπόν, μετά το login, κάνει redirect από μόνο του!

Το βλέπεις από το HTTP/1.1 302 Object moved

 

Ναι μεν εσύ θα ανοίξεις στο πρώτο link το login.asp, αλλά μετά από επιτυχημένη σύνδεση, θα καταλήξεις στο studentMain.asp?mnuID=student

 

Το redirect το τακτοποιείς με αυτό που έχεις ήδη:

>curl_setopt($access, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($access, CURLOPT_AUTOREFERER, true);

 

Στο CURLOPT_POSTFIELDS βάζεις ολόκληρο:

userName=έναωραίοόνομα&pwd=έναςωραίοςκωδικός&submit1=%C5%DF%F3%EF%E4%EF%F2&loginTrue=login

 

Θέλει και το submit1 και το loginTrue από ότι φαίνεται :P

 

Μια φόρα θα τρέξεις τον curl μέχρι εδώ!!!

Θα φορτώσει ναι μεν το login.asp, αλλά αν πετύχει η σύνδεση, θα γίνει redirect από μόνο του στο studentMain.asp?mnuID=student και θα σου επιστρέψει αυτό και όχι το login.asp

 

Αν τώρα τα δεδομένα ΔΕΝ είναι στο studentMain.asp?mnuID=student, τότε και μόνο τότε χρειάζεται να ανοίξεις δεύτερο link, απενεργοποιώντας το CURLOPT_POST.

 

Πληροφοριακά, αμα δεις τα headers, το πρώτο είναι:

POST /unistudent/login.asp HTTP/1.1

επειδή στέλνεις στοιχεία εισόδου, ενώ μετά που σε κάνει redirect:

GET /unistudent/studentMain.asp?mnuID=student HTTP/1.1

αφού δεν στέλνεις πλέον κάτι αλλό :P

 

Αντίστοιχα και ΑΝ χρειάζεται να ανοίξεις άλλο link, θα το κάνεις με GET και άρα χρειάζεται να πεις στον curl να απενεργοποιήσει το CURLOPT_POST

 

Εφιστώ την προσοχή σου στα cookies, να τα έχεις να αποθηκεύονται και να διαβάζονται.

Δημοσ.

Μου εμφανίζει ένα μήνυμα

>
Σφάλμα () 	Επιστροφή
Σύντομη περιγραφή:
Συνέβη σφάλμα. H ενέργεια αυτή προκάλεσε σφάλμα συστήματος. Παρακαλούμε προσπαθήστε αργότερα. Σε περίπτωση επανάληψης του σφάλματος επικοινωνήστε με το διαχειριστή του συστήματος.

 

λες να έχει απενεργοποιήσε τίποτα ο διαχειριστής και να μην μπορω να μπω? :/

 

>
http://localhost/poscore/init.php

GET /poscore/init.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:12.0) Gecko/20100101 Firefox/12.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Cache-Control: max-age=0

HTTP/1.1 200 OK
Date: Sat, 26 May 2012 11:56:50 GMT
Server: Apache/2.2.21 (Unix) DAV/2 mod_ssl/2.2.21 OpenSSL/1.0.0c PHP/5.3.8 mod_apreq2-20090110/2.7.1 mod_perl/2.0.5 Perl/v5.10.1
X-Powered-By: PHP/5.3.8
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html

να τα headers απο το pc μου αλλα δεν βλέπω καθόλου μεταφορά username password etc...δεν χργσιμοποιείται καθολου η post? :(

Δημοσ.

Τα headers που παραθέτεις, δεν έχουν να κάνουν καμία σχέση με τον curl. Είναι η επικοινωνία του υπολογιστή σου με τον... υπολογιστή σου! Δηλαδή ο firefox που καλεί to php script. Δεν μπορεί να "δει" τι γίνεται μέσα στο script και άρα με τον curl!!!

 

Μπορώ να φανταστώ τρία πράγματα για τα οποία αρνείται να σε συνδέσει:

- Θέμα με τα cookies. Ίσως θέλει να του φορτώσεις και την αρχική σελίδα, απλά και μόνο για να ξεκινήσει το session και να το κρατήσει στα cookies.

- Ελέγχει το User-Agent => θέσε στις επιλογές του curl το CURLOPT_USERAGENT σε Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:12.0) Gecko/20100101 Firefox/12.0

-Ελέγχει το referer link (από που έρχεσαι). Θέτεις το CURLOPT_REFERER στο link το οποίο περιέχει την login φόρμα (νομίζω https://cronos.cc.uoi.gr/unistudent/login.asp)

Δημοσ. (επεξεργασμένο)

Προσθεσα και τα 3 νομιζω σωστά και βγάζει το 11000 error που απο ότι είδα σχετίζεται με Mysql και αναφέρεται στις διπλότυπες τιμές. Εγώ όμως έναν λογαριασμό έχω εκεί δεν μπορεί να με βρίσκει 2 φορες. Κάτι πιο γενικό όταν θέλω κάτι σε true και του δίνω μια τιμή όπως ο agent να βάζω διπλά η μονά εισαγωγικά (' ή ")?

 

>
<?php
       $access = curl_init();
       curl_setopt($access, CURLOPT_URL, "https://cronos.cc.uoi.gr/unistudent/login.asp"); //link στο οποίο στέλνει τα δεδομένα η φόρμα του login
       curl_setopt($access, CURLOPT_HEADER, false);
       
       /* επιβεβαίωση για το SSL */
       curl_setopt($access, CURLOPT_SSL_VERIFYPEER, false);
       curl_setopt($access, CURLOPT_SSL_VERIFYHOST, false);
       
       /* αποστολή στοιχείων για πρόσβαση στο url χρήστη*/
       curl_setopt($access, CURLOPT_POST, true); //του λες να στείλει με POST τα δεδομένα εισόδου
       curl_setopt($access, CURLOPT_POSTFIELDS, 'userName=xxxxx&pwd=xxxxx&submit1=%C5%DF%F3%EF%E4%EF%F2&loginTrue=login'); //τα δεδομένα εισόδου
       curl_setopt($access, CURLOPT_RETURNTRANSFER, true); //να σου επιστρέψει σε μεταβλητή την σελίδα.
curl_setopt($access, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:12.0) Gecko/20100101 Firefox/12.0");
       
       curl_setopt($access, CURLOPT_FOLLOWLOCATION, true); //να ακολουθήσει τα redirects
       curl_setopt($access, CURLOPT_REFERER, 'https://cronos.cc.uoi.gr/unistudent/login.asp'); //αυτό το θες σε περίπτωση που ελέγχει η σελίδα από που έρχεσαι.
       curl_setopt($access, CURLOPT_COOKIEJAR, "cookie.txt"); //αρχείο στο οποίο αποθηκεύει τα cookies
       curl_setopt($access, CURLOPT_COOKIEFILE, "cookie.txt"); //αρχείο από το οποίο διαβάζει τα προφανώς (cookies το ίδιο)
       
       $httppage = curl_exec($access);
       echo $httppage; //εκτυπώνεις την σελίδα να δεις αν όντως πέτυχε το login
       curl_close($access);
?>

Επεξ/σία από poscore
Δημοσ. (επεξεργασμένο)

Για το 1100 error δεν έχω ιδέα να σου απαντήσω...

 

Κάτι πιο γενικό όταν θέλω κάτι σε true και του δίνω μια τιμή όπως ο agent να βάζω διπλά η μονά εισαγωγικά (' ή ")?

Δεν έχει σχέση όποιο και να βάλεις!

 

Δοκίμασε αυτό: (Ίσως θέλει debugging, δεν το δοκίμασα.)

>
<?php
$username = '';
$password = '';

$access = curl_init();
curl_setopt($access, CURLOPT_URL, "https://cronos.cc.uoi.gr/unistudent/login.asp");
curl_setopt($access, CURLOPT_HEADER, false);
curl_setopt($access, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($access, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($access, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($access, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($access, CURLOPT_COOKIESESSION, true); //ksekiname neo session
curl_setopt($access, CURLOPT_RETURNTRANSFER, true);
curl_setopt($access, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:12.0) Gecko/20100101 Firefox/12.0");
curl_setopt($access, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($access, CURLOPT_AUTOREFERER, true);

$httppage = curl_exec($access); //anigoume apla to link gia na ksekinisei to session

curl_setopt($access, CURLOPT_POST, true);
curl_setopt($access, CURLOPT_POSTFIELDS, 'userName='.$username.'&pwd='.$password.'&submit1=%C5%DF%F3%EF%E4%EF%F2&loginTrue=login');
curl_setopt($access, CURLOPT_REFERER, 'https://cronos.cc.uoi.gr/unistudent/login.asp');

$httppage = curl_exec($access); //defteri fora alla me POST user/pass
echo $httppage; //elpizontas oti tha pareis tin selida amesos meta apo ena petiximeno login

curl_close($access);
?>

Επίσης διέγραψε το cookie.txt αρχείο, μπας και κάνει πρόβλημα!

Επεξ/σία από PeLLaRaS
Δημοσ.

Και το αποτέλεσμα ακόμη μια φορά είναι ηη login φόρμα... ;( Νόμιζω έπρεπε να αρχικοποιηθεί και η μεταβλητή $curl οπότε αποάνω της έβαλα

>$curl = init();

ελπίζω να έκανα σωστά.

Δημοσ.

ooooops, λάθος! Όπου $curl βάλε $access, όχι αρχικοποίηση του $curl :P

 

Αντέγραψα από δικό μου κώδικα :P

 

Το διορθώνω για να μην γίνει μπέρδεμα!

Δημοσ. (επεξεργασμένο)

Ένα μεγάλο ΥΠΕΡευχαριστώ δάσκαλε... :D

 

Θα συνεχίσω με την υλοποίηση που έχω στο μυαλό μου αν και αν προκύψει κάτι(ελπίζω όχι) θα ποστάρω...

 

edit: έχω μια απορία γιατί κυρίως σκοπός είναι να μάθω.

1. τα cookies γτ τα φτιάχνουμε και τι αποθηκεύεται?

2. με ποια λογική σκέφτηκες να κάνεις curl_exec στο πρώτο σημείο?

3. αν θέλω να πάρω δεδομένα απο άλλη σελίδα θα πρέπει να προσθέσω κώδικα πριν απο το curl_close της αρχικής μεταβλητής?

4. θα χρησιμοποιήσω τα cookies για την μετάβαση σε κάποια άλλη σελίδα? Θα φτιάξω νέα cookies?

Επεξ/σία από poscore
Δημοσ.

Να υποθέσω ότι δούλεψε; :-D

 

1) Τα cookies, άμα ψάξεις, θα δεις ότι αποθηκεύουν πληροφορίες που αφορούν τον επισκέπτη μιας σελίδας, στον ίδιο τον browser. Στην συγκεκριμένη περίπτωση αποθηκεύει τα στοιχεία σου, για να ξέρει ότι είσαι εσύ και είσαι συνδεδεμένος, για να σου δώσει πρόσβαση σε σημεία στο site που είναι "προστατευμένα". Μπορείς να δεις τα cookies από τον firefox απευθείας ή ακόμη και στο Live HTTP headers μπορείς να δεις πως στέλνονται και πως αποθηκεύονται!

 

2) Αφού αρνιόταν πεισματικά να συνδεθεί μετά από τόοοοσα που κάναμε, μου λες ότι βγάζει και ένα error που μάλλον έχει να κάνει με διπλότυπη τιμή στην βάση, υπέθεσα πως θα προσπαθεί να ελέγξει το session (αποθηκεύετε και αυτό στα cookies, για να διακρίνει ότι πρόκειται για τον ίδιο επισκέπτη). Από την στιγμή που προσπαθούσαμε απευθείας σύνδεση, χωρίς να έχει ξεκινήσει ήδη το session, τα έπαιζε :P

 

Ελπίζω να τα έγραψα κάπως κατανοητά :/

 

edit: (Μην βάζεις άλλα ερωτήματα τέτοια ώρα!!!)

 

3) Θα πρέπει, πριν το curl_close, να ρυθμίσεις το νέο λινκ, το σωστό referer και πιθανότατα αν χρειάζεσε POST, να το "ενεργοποιήσεις/απενεργοποιήσεις" ανάλογα, βάζοντας και τις παραμέτρους. Μετά κανονικά curl_exec. Αν πρόκειται για εντελώς διαφορετικό domain name, πρέπει να ξεκινήσεις άλλο curl.

 

4) Άμα συνεχίσεις να χρησιμοποιείς το $access, όχι δεν φτιάχνεις νέο cookie! Αλλά και άλλο domain name να θέλεις να ανοίξεις, δεν θα υπάρξει πρόβλημα. Άνοιξε το αρχείο που αποθηκεύονται τα cookies να δεις πως είναι. Είναι χωρισμένο σε domain names, οπόταν δεν σε επηρεάζει. Σκέψου το σαν να είναι ο αποθηκευτικός χώρος των cookies όπως του browser.

Δημοσ.

Δούλεψε και η δεύτερη σελίδα :) Είδες δεν χρειάστηκαν άλλα ερωτήματα! Πάντως ειλικρινά σε ευχαριστώ φίλε μου και καλή επιτυχία με τα δικά σου :D

 

Τώρα φαντάζομαι τέλος τα χοντρά θα προσπαθήσω να βρώ τρόπους να πάρω δεδομένα απο την σελίδα.

Δημοσ.

Χαίρομαι που επιτέλους δούλεψε!

 

Τώρα φαντάζομαι τέλος τα χοντρά θα προσπαθήσω να βρώ τρόπους να πάρω δεδομένα απο την σελίδα.

Ευκαιρία για να δοκιμάσεις regular expressions και χρήση των συναρτήσεων preg_match και preg_match_all. Καλή τύχη ;)

Δημοσ.

Χαίρομαι που επιτέλους δούλεψε!

 

 

Ευκαιρία για να δοκιμάσεις regular expressions και χρήση των συναρτήσεων preg_match και preg_match_all. Καλή τύχη ;)

 

Λοιπόν αφού έχω αναλύσει κάπως το τι θέλω να κάνω σκεφτόμουν να ρωτήσω τι επιλογές έχω? Τα δεδομένα που θέλω είναι

>
<form method="POST" action id="frm1" name="frm1"> 
<table border="0" cellpadding="4" cellspacing="2" width="95%" align="center" id="mainTable">
	<tr>
		<td width="40%" align height="20" valign="middle">
			 			
     			 Ταξινόμηση: <select size="1" name="sortBy" onChange="frm1.submit()" style="border: 1 solid #CCCCCC">
   				<option  value="title">κατά τίτλο</option>
   				<option  value="coursecode">κατά κωδικό</option>
   				<option  value="cyear">κατά ακαδ.έτος</option>
   				<option selected value="csem">ανά εξάμηνο</option>
   				<option  value="ctypeID">ανά τύπο</option>
 				</select>
   		</td>
		<td width="100%" align="right" height="20">
			<img src="images/course1.gif" WIDTH="16" HEIGHT="16"> <i>Απλό μάθημα</i> <img src="images/course4.gif" WIDTH="16" HEIGHT="16"> <i>Σύνθετο μάθημα</i>
		 <img src="images/course8.gif" WIDTH="16" HEIGHT="16"> <i>Μέρος σύνθετου μαθήματος</i>
	</td>
	</tr>
      	<?xml version="1.0" encoding="UTF-16"?>
      	
      	<tr>
      	<td colspan="2">
      	<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
      	<tr>
      		<td colspan="10" class="groupHeader">Εξάμηνο Α</td>
      	</tr>
      	<tr height="25" class="italicHeader">
      		<td valign="top"></td>
      		<td colspan="2" valign="top">Μάθημα</td>
      		<td valign="top">Τύπος</td>
      		<td valign="top">ΔΜ</td>
      		<TD valign="top">Ώρες</TD>
      		<td valign="top">ECTS</td>
      		<td valign="top">Βαθμός</td>
      		<td valign="top">Εξεταστική</td>
      	</tr>
       <tr height="25" bgcolor="#fafafa">
      		<td valign="top"> <img align="absbottom" src="images/course1.gif" width="16" /></td>
      		<td colspan="2" valign="top" class="topBorderLight">(ΠΛΥ109)  Γενική Φυσική Ι<span class="redfonts" /></td>
      		<td valign="top" class="topBorderLight">ΥΠΟΧΡΕΩΤΙΚΟ</td>
      		<td valign="top" class="topBorderLight"> 4</td>
      		<td valign="top" class="topBorderLight">4</td>
      		<td valign="top" class="topBorderLight"> 5</td>
      		<td valign="top" class="topBorderLight"><span class="redFonts">[b]6[/b]</span></td>
      		<td nowrap="true" class="topBorderLight"><span class="tablecell"><i>ΦΕΒΡ 2009-2010</i></span></td>
      	</tr>

 

υπάρχει μια φόρμα μέσα στην οποία υπαχουν πίνακες. Εμ, σκέφτηκα αν θα μπορούσα να παίξω με το POST αλλα κάθε κελί του πινακα δεν έχει μοναδικό id. Οπότε μάλλον όχι. Επίσης δεν είμαι σίγουρος αν βοηθάει η PHP με τα regular expresions. Είδα κάποια παραδείγματα αλλα δεν έχω βρεί αυτό που θέλω. Ίσως είναι τα δεδομένα με τέτοιον τρόπο και δεν μου κάνει. Ένα άλλο είναι να εξάγω αυτά τα δεδομέν σε ένα αρχείο txt και αν δημιουργήσω ένα σκριπάκι σε C όπου κατέχω καλά ώστε να παει αυτά που θέλω. Το πρόβλημα είναι ότι όσο καλά και να ξέρεις την C είναι λίγο χρονοβόρο κυρίως να το κάνεις και πιθανώς να μην είναι η καλύτερη λύση. Οπότε θα ήθελα να προτείνετε κάποιες τρόπους σε γενικές γραμμές ώστε να καταλήξω κάπου και να αρχίσω να το υλοποιώ! :)

 

ευχαριστώ πολυ

Δημοσ.

Από την στιγμή που μπορείς να το κάνεις σε c, μπορείς να το κάνεις και σε php

 

Regular expressions είναι το ιδανικότερο όμως και σε php μια χαρά μπορείς να δουλέψεις με regular expressions και να πάρεις όποιο δεδομένο θες! Όπως ανέφερα, οι συναρτήσεις preg_match και preg_match_all θα σου φανούν χρήσιμες για να πάρεις τα δεδομένα μέσω των regular expression. Θέλει διάβασμα και πειραματισμό να μάθεις πως συντάσεις regular expressions για να πάρεις αυτό που θες.

Δημοσ.

Οκ, αφού το λές θα το βρώ. Απλά, τα κοίταξα αυτά που λες αλλα και δεν μου φάνηκαν τα κατάληλα αλλα μάλλον έκανα λάθος! Μιας και δεν ξέρω τα εργαλεία που έχω στην διάθεση μου απλά δεν ήθελα να αρχίσω να προσπαθώ με τα regular expresions και στο τέλος να μην γίνεται :P Nevermind, thanks :D

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...