PHP Security

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
AAT
Δημοσιεύσεις: 379
Εγγραφή: 23 Αύγ 2007 16:31
Τοποθεσία: Lemesos, Limassol
Επικοινωνία:

PHP Security

Δημοσίευση από AAT » 15 Δεκ 2007 20:46

Guys lipon ekana ena login script kai thelw thn boithia sas.

Basika thelw mia pio "dinath" asfalia. Mipos kapios sto parakato script mporei na moy eksigisei pos na efarmosw sha1() ? Episis an iparxei pera apo thn sha1()

To sistima doylebei peripoy os exis o user kanei register xwris asfalia (thelw na efarmosw sha1() kai kati parapano alla oxi SSI). Mpenei sthn bash meta...
Sto login o user vazei ta stixia toy kai h selida ton katefthinei se mia selida login_pass.php opoy ekei elegkxontai ta stixia (thelw na efarmosw sha1() kai kati parapano alla oxi SSI). Meta an einai sosta pernaei sto members.php opoy elegkxete h session poy anixthike sto login_pass kai an einai ok kanei include thn secure.php poy elegkxei to cookie kai thn session (thelw na efarmosw sha1() kai kati parapano alla oxi SSI).

register.php

Κώδικας: Επιλογή όλων

<?php
$con = mysql_connect&#40;"*", "*", "*"&#41;;
if &#40;!$con&#41;
  &#123;
  die&#40;'Could not connect&#58; ' . mysql_error&#40;&#41;&#41;;
  &#125;
mysql_select_db&#40;"*", $con&#41;;

mysql_query&#40;"INSERT INTO users &#40;username, password&#41; 
VALUES &#40;'$_POST&#91;username&#93;', '$_POST&#91;password&#93;'&#41;"&#41;;
?>
<form action="register.php" method="post" enctype="multipart/form-data">
<p>Username&#58; <input name="username" type="text" id="username"></p>
<p>Password&#58; <input name="password" type="password" id="password"></p>
<p><input type="submit" name="submit" value="Register"></p>
</form>
login.php

Κώδικας: Επιλογή όλων

<form action="login_pass.php" method="post" enctype="multipart/form-data">
<p>Username&#58; <input name="username" type="text" id="username"></p>
<p>Password&#58; <input name="password" type="password" id="password"></p>
<p><input type="submit" name="submit" value="Login"></p>
</form>
login_pass.php

Κώδικας: Επιλογή όλων

<?php
$con = mysql_connect&#40;"*", "*", "*"&#41;;
if &#40;!$con&#41;
  &#123;
  die&#40;'Could not connect&#58; ' . mysql_error&#40;&#41;&#41;;
  &#125;
mysql_select_db&#40;"*", $con&#41;;
$username = $_POST&#91;username&#93;;
$password = $_POST&#91;password&#93;;

$sql="SELECT * FROM users WHERE username='$username' and password='$password'";
$result=mysql_query&#40;$sql&#41;;

$count=mysql_num_rows&#40;$result&#41;;

if&#40;$count==1&#41;&#123;
setcookie&#40;"*", "$username", time&#40;&#41;+1209600&#41;;
session_register&#40;"*"&#41;;
header&#40;"location&#58;members.php"&#41;;
&#125;
else &#123;
header&#40;"location&#58;login.php"&#41;;
&#125;
ob_end_flush&#40;&#41;;
?>
members.php

Κώδικας: Επιλογή όλων

<?
session_start&#40;&#41;;
if&#40;!session_is_registered&#40;*&#41;&#41;&#123;
header&#40;"location&#58;login.php"&#41;;
&#125;
?>
<?php
  include&#40;"secure.php"&#41;;
?>
secure.php

Κώδικας: Επιλογή όλων

<?
session_start&#40;&#41;;
if&#40;!session_is_registered&#40;*&#41;&#41;&#123;
header&#40;"location&#58;login.php"&#41;;
&#125;
?>
<?php
if &#40;!isset&#40;$_COOKIE&#91;"*"&#93;&#41;&#41;
  &#40;"location&#58;login.php"&#41;;
?>
<center><strong><h3>Hello <?php echo $_COOKIE&#91;"*"&#93;; ?>!</h3></strong></center>
logout.php

Κώδικας: Επιλογή όλων

<?
$user = $_COOKIE&#91;"*"&#93;;
setcookie&#40;"*", "$user", time&#40;&#41;-1209600&#41;;
session_start&#40;&#41;;
session_destroy&#40;&#41;;
header&#40;"location&#58;login.php"&#41;;
?>
* = Kalitera na min pw.

Opos ipa thelw na mooy pite pos kai poy prepei na mpoyn oi protections.

Thanks.

Άβαταρ μέλους
dik_
Δημοσιεύσεις: 476
Εγγραφή: 07 Ιουν 2007 11:28

PHP Security

Δημοσίευση από dik_ » 15 Δεκ 2007 21:59

register.php:

Κώδικας: Επιλογή όλων

$p = sha1&#40;$_POST&#91;password&#93;&#41;;
mysql_query&#40;"INSERT INTO users &#40;username, password&#41;
VALUES &#40;'$_POST&#91;username&#93;', '$p'&#41;"&#41;; 
login_pass.php:

Κώδικας: Επιλογή όλων

$p = sha1&#40;$password&#41;;
$sql="SELECT * FROM users WHERE username='$username' and password='$p'";
Κανονικά θέλεις και αλατάκι όμως, και να τσεκάρεις/καθαρίζεις τα input values, πιθανώς με την mysql_real_escape_string...

Αυτά είναι τα ελάχιστα και απολύτως απαραίτητα που μπορείς να κάνεις για να μην είσαι τρύπιος...

Άβαταρ μέλους
AAT
Δημοσιεύσεις: 379
Εγγραφή: 23 Αύγ 2007 16:31
Τοποθεσία: Lemesos, Limassol
Επικοινωνία:

PHP Security

Δημοσίευση από AAT » 15 Δεκ 2007 22:20

dld ti mporw na kanw parapanw a kai to mysql_real_escape_string ti kanei?

Thanks dik_!!!!!!!!!!!

Άβαταρ μέλους
dik_
Δημοσιεύσεις: 476
Εγγραφή: 07 Ιουν 2007 11:28

PHP Security

Δημοσίευση από dik_ » 15 Δεκ 2007 23:34

Δεν μπορώ να περιγράψω τι κάνει καλύτερα απ' τα ίδια τα API docs...

Άβαταρ μέλους
AAT
Δημοσιεύσεις: 379
Εγγραφή: 23 Αύγ 2007 16:31
Τοποθεσία: Lemesos, Limassol
Επικοινωνία:

PHP Security

Δημοσίευση από AAT » 15 Δεκ 2007 23:51

Ok tote apla ti mporw na kanw perissotero?

Se efxaristw afantasta!

Άβαταρ μέλους
AAT
Δημοσιεύσεις: 379
Εγγραφή: 23 Αύγ 2007 16:31
Τοποθεσία: Lemesos, Limassol
Επικοινωνία:

PHP Security

Δημοσίευση από AAT » 16 Μαρ 2008 22:52

den katalaba akomh ti einai ta %s kai %d k.t.l

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

PHP Security

Δημοσίευση από cherouvim » 16 Μαρ 2008 23:50

AAT έγραψε:

Κώδικας: Επιλογή όλων

mysql_query&#40;"INSERT INTO users &#40;username, password&#41; 
...
VALUES &#40;'$_POST&#91;username&#93;', '$_POST&#91;password&#93;'&#41;"&#41;;
...
<form action="register.php" method="post" enctype="multipart/form-data">
PHP, SQL και HTML στο ίδιο αρχείο. Όχι πολύ ωραίο. Τουλάχιστον κάνε ένα αρχείο με όλο το database access κώδικα.
Και η φόρμα δεν χρειάζεται να είναι multipart. Δεν ανεβάζεις αρχείο.

Άβαταρ μέλους
AAT
Δημοσιεύσεις: 379
Εγγραφή: 23 Αύγ 2007 16:31
Τοποθεσία: Lemesos, Limassol
Επικοινωνία:

PHP Security

Δημοσίευση από AAT » 17 Μαρ 2008 17:28

auto to ekana otan arxisa php ;) apla to epanefera gia na rotisw kati (des to teleftaio moy post asto thema)

Thanks!

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες