Επαναφορά website(PERL/HTML/PHP)

...IDE, compilers, κλπ

Συντονιστής: konnn

Re: Επαναφορά website(PERL/HTML/PHP)

Δημοσίευσηαπό medigeek » 02 Αύγ 2011, 15:06

linuxs έγραψε:αλλα δεν μπορώ να καταλάβω γιατι υπάρχουν εκεί και τι κάνουν?

Τα input αποστέλνονται σαν arguments στο αρχείο /cgi-bin/perlpass.pl (form action). Χωρίς να έχω τον κώδικα του perlpass.pl (εδώ χρειάζεται ένα open source license και ο κώδικας στο github ;) ) μπορώ μόνο να μαντέψω τι κάνουν.
Κώδικας: Επιλογή όλων
<input name="token" type="hidden" id="token" value="<?php echo $_GET['token']; ?>" />

token = ID. τυχαίο (αλφαριθμικό;) text string που ξεχωρίζει τον κάθε περιηγητή.
Κώδικας: Επιλογή όλων
<input name="return_url" type="hidden" id="return_url" value="<?php echo $_GET['return_url']; ?>" />[/color]

return_url = μάλλον χρησιμοποιείται για να σε μεταφέρει στη σελίδα που ήσουν.
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Επαναφορά website(PERL/HTML/PHP)

Δημοσίευσηαπό linuxs » 02 Αύγ 2011, 16:28

Qdata έγραψε:Λες για αυτά;
Κώδικας: Επιλογή όλων
<input name="sessionid" type="hidden" id="sessionid" value="33" />
<input name="token" type="hidden" id="token" value="<?php echo $_GET['token']; ?>" />
<input name="return_url" type="hidden" id="return_url" value="<?php echo $_GET['return_url']; ?>" />

Αν προσέξεις είναι type="hidden" οπότε δεν μπορείς να τα πειράξεις.Πρέπει να είναι κάποιες μεταβλητές/στοιχεία που σχετίζονται με το αρχείο /cgi-bin/perlpass.pl.

Κώδικας: Επιλογή όλων
<form id="form1" name="form1" method="post" action="/cgi-bin/perlpass.pl">


κοίτα, απο την στιγμη που είναι hidden ξέρω πως δεν φαίνεται καν. Το θέμα είναι τι ακριβώς κάνει γιατί το λάθος που εμφανίζει ο μηχανισμός ´ολος είναι σχετικό με μια γραμμή οπου υπάρχει το value(return_url) οπότε νομίζω πως σχετίζεται... :/
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Επαναφορά website(PERL/HTML/PHP)

Δημοσίευσηαπό linuxs » 02 Αύγ 2011, 16:30

medigeek έγραψε:
linuxs έγραψε:αλλα δεν μπορώ να καταλάβω γιατι υπάρχουν εκεί και τι κάνουν?

Τα input αποστέλνονται σαν arguments στο αρχείο /cgi-bin/perlpass.pl (form action). Χωρίς να έχω τον κώδικα του perlpass.pl (εδώ χρειάζεται ένα open source license και ο κώδικας στο github ;) ) μπορώ μόνο να μαντέψω τι κάνουν.
Κώδικας: Επιλογή όλων
<input name="token" type="hidden" id="token" value="<?php echo $_GET['token']; ?>" />

token = ID. τυχαίο (αλφαριθμικό;) text string που ξεχωρίζει τον κάθε περιηγητή.
Κώδικας: Επιλογή όλων
<input name="return_url" type="hidden" id="return_url" value="<?php echo $_GET['return_url']; ?>" />[/color]

return_url = μάλλον χρησιμοποιείται για να σε μεταφέρει στη σελίδα που ήσουν.


Κάπως καλύτερα... :) σε ευχαριστώ ο κώδικας του perlpass.pl είναι;
Κώδικας: Επιλογή όλων




μπορείς να εξάγεις περισσότερες πληροφορίες? ;/
Τελευταία επεξεργασία από linuxs και 23 Αύγ 2011, 04:45, έχει επεξεργασθεί 1 φορά/ες συνολικά
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Επαναφορά website(PERL/HTML/PHP)

Δημοσίευσηαπό medigeek » 02 Αύγ 2011, 16:52

Φαίνεται πως μάντεψα σωστά για τις τιμές. :P
Με τα λίγα που θυμάμαι από perl, παίρνει τις τιμές return_url και token (μαζί με άλλες), δημιουργεί ένα url και το διαβάζει:
Κώδικας: Επιλογή όλων
my $cgi_connector = "https://msdn62.e-academy.com/msdnaa_gn6522/index.cfm?loc=login/cab_cgi";
$cgi_connector .= "&token=$token&uid=$uid&groups=$groups&department=$department&email=$uid\@cs.uoi.gr";
$res = $ua->get($cgi_connector);

Αν είναι επιτυχής η σύνδεση τον στέλνει πίσω στο return_url, στην ιστοσελίδα που ήταν πριν:
Κώδικας: Επιλογή όλων
if ($res->is_success) {
if($res->as_string gt "0 Account"){
$return_url .= "&uid=$uid&token=$token";
print "Status: 301 Moved Permanently\nLocation: $return_url \n\n";
#print $res->content;
}

}


To http 301 είναι για redirection:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
http://en.wikipedia.org/wiki/HTTP_301
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Επαναφορά website(PERL/HTML/PHP)

Δημοσίευσηαπό linuxs » 02 Αύγ 2011, 17:03

medigeek έγραψε:Φαίνεται πως μάντεψα σωστά για τις τιμές. :P
Με τα λίγα που θυμάμαι από perl, παίρνει τις τιμές return_url και token (μαζί με άλλες), δημιουργεί ένα url και το διαβάζει:
Κώδικας: Επιλογή όλων
my $cgi_connector = "https://msdn62.e-academy.com/msdnaa_gn6522/index.cfm?loc=login/cab_cgi";
$cgi_connector .= "&token=$token&uid=$uid&groups=$groups&department=$department&email=$uid\@cs.uoi.gr";
$res = $ua->get($cgi_connector);

Αν είναι επιτυχής η σύνδεση τον στέλνει πίσω στο return_url, στην ιστοσελίδα που ήταν πριν:
Κώδικας: Επιλογή όλων
if ($res->is_success) {
if($res->as_string gt "0 Account"){
$return_url .= "&uid=$uid&token=$token";
print "Status: 301 Moved Permanently\nLocation: $return_url \n\n";
#print $res->content;
}

}


To http 301 είναι για redirection:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
http://en.wikipedia.org/wiki/HTTP_301


Perfect! ;) Σε υπερευχαριστώ....
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Επαναφορά website(PERL/HTML/PHP)

Δημοσίευσηαπό medigeek » 02 Αύγ 2011, 17:19

Δεν κάνει τίποτα. :D
Εκεινο το
Κώδικας: Επιλογή όλων
$res->as_string gt "0 Account"
..δεν το πολυκατάλαβα να σου πω την αλήθεια.. συγκρίνει text string με gt ("greater than", άλλως ">");
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Επαναφορά website(PERL/HTML/PHP)

Δημοσίευσηαπό linuxs » 02 Αύγ 2011, 17:24

Σίγουρα κάπου υπάρχει κάποιο λάθος γι' αυτό δεν λειτουργεί ο όλος μηχανισμός! Μπορεί να είναι και αυτό :P ...στην γραμμή 12 και κάτω υπάρχει αυτό το κομμάτι(στο perlpass πάντα):
Κώδικας: Επιλογή όλων

# Calls the function User_Data()
%data_received = &User_Data();

$user = $data_received{'uname'};
$pass = $data_received{'pass'};
$ses = $data_received{'sessionid'};

$uid = $data_received{'uname'};
$groups = "Cs+members";
$department = "CSDEPT";


Απο οτι κατάλαβα έχει δημιουργήσει μια sub ρουτίνα στο τέλος που αν και δεν ξέρω τι κάνει μόλις τελειώσει στέλνει info και τις παίρνει ο "τύπος δεδομένων" 'data_received'. τώρα αυτό είναι πίνακας? ;/ γιατί δεν βλάπω να έχει οριστεί πουθενά...

Βέβαια πρεει να σχετίζεται με το κομμαι του hashing στην perl αλλα μπερδέυομαι γιατί καλεί συνάρτηση και αμέσως αποθηκευονται δεδομένα ενώ σε ένα tutorial που έχω μπροστά μου δεν έχει τέτοιο παράδειγμα. :?
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Επαναφορά website(PERL/HTML/PHP)

Δημοσίευσηαπό medigeek » 02 Αύγ 2011, 17:36

Νομίζω είναι πίνακας, perl hash, αντίστοιχο του dictionary για python:
http://www.tizag.com/perlT/perlhashes.php
Μπορείς να δεις τι κρύβεται στο hash:
http://perldoc.perl.org/perlfaq3.html#H ... l-programs?

Κώδικας: Επιλογή όλων
use Data::Dumper qw( Dumper );
print STDERR "The hash is " . Dumper( \%hash ) . "\n";
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Επαναφορά website(PERL/HTML/PHP)

Δημοσίευσηαπό linuxs » 02 Αύγ 2011, 17:43

medigeek έγραψε:Νομίζω είναι πίνακας, perl hash, αντίστοιχο του dictionary για python:
http://www.tizag.com/perlT/perlhashes.php
Μπορείς να δεις τι κρύβεται στο hash:
http://perldoc.perl.org/perlfaq3.html#H ... l-programs?

Κώδικας: Επιλογή όλων
use Data::Dumper qw( Dumper );
print STDERR "The hash is " . Dumper( \%hash ) . "\n";


Ας δούμε τώρα αν τα έχω πιάσει σωστά...σε έναν πίνακα μπορούμε να έχομυε όσα στοιχεία θέλουμε αρκεί να μας φτάνει η μνήμη αλλα είναι όλα του ίδιου τύπου ενώ χρησιμοποιώντας hashing μπορούμε να έχουμε πίνακα με key/value και όχι index/value και να έχουμε πολλούς διαφορετικούς τύπους μέσα. ;/

right/wrong?
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Επαναφορά website(PERL/HTML/PHP)

Δημοσίευσηαπό linuxs » 02 Αύγ 2011, 17:58

Μπόρεσα να ξεθάψω άλλο ένα κομμάτι σχετικά με το authentication. Πάλι στο perlpass.pl υπάρχει αυτό:
Κώδικας: Επιλογή όλων





}
else
{
print "Content-type: text/html\n\n";
print "<h1>Authentication Failure. Please try again. <br></h1>";
exit;
}


και σύμφωνα με αυτό:
http://search.cpan.org/~chansen/Authen-Simple-NIS-0.3/lib/Authen/Simple/NIS.pm
προσπαθεί να κάνει authenticate. Πρώτον δεν έχω καταλάβει τι κάνει το ->new. Απλά δημιουργεί μια μεταβλητή? ;/ Δεύτερον, το authenticate γίνεται αυτόματα απο τον browser η είναι αυτό το μήνυμα που βγάζει συνήθως και πρεπει να πατήσεις αποδοχή? ;/ ...εννοώ στην πράξη τι ακριβώς θα γίνει? ;/
Τελευταία επεξεργασία από linuxs και 23 Αύγ 2011, 04:46, έχει επεξεργασθεί 1 φορά/ες συνολικά
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Εφαρμογές για Ανάπτυξη Λογισμικού