login  Naam:   Wachtwoord: 
Registreer je!
 Forum

session combineren met if/else (Opgelost)

Offline willie - 24/03/2009 20:18
Avatar van willie0 Haai even een vraag,

als ik inlog, wordt er een session aangemaakt.
daar door is voor mij een pagina zichtbaar.
maar als ik nu in die session een een andere pagina opvraag, bvb cont_email.php, kan ik deze zien.
maar als je buiten deze session de sitenaam intype,en dan /cont_email.php kan je die ook zien.
hoe kan ik dat voorkomen.
hiermee log ik dus in, en wordt alleen ik doorgestuurd na een bepaalde pagina:
  1. <?php
  2.  
  3.  
  4. include('dbc.php');
  5.  
  6.  
  7. $id = $_GET['id'];
  8.  
  9. ?>
  10. <?php
  11. $sql= mysql_query("SELECT * FROM a_gebruikers WHERE email = '".$email."' ") or die(mysql_error());
  12. while($res = mysql_fetch_assoc($sql))
  13. {
  14.  
  15. if($res['gebruiker_id'] == '500') {
  16. echo "<META HTTP-EQUIV='refresh'content='0;URL=../admin/index.php'>";
  17. }
  18. else {
  19.  
  20. }
  21.  
  22. ?>

8 antwoorden

Gesponsorde links
Offline Daiben - 24/03/2009 20:43
Avatar van Daiben Lid zoeits als
if($_SESSION['id'] == 1){hier komt de site als hij is ingelogd}
if($_SESSION['id'] == 0){u mag hier niet komen}
else{u bent niet ingelogd} zoiets?

tussen de {stop je bijv een form of iets dergelijks}
Offline willie - 25/03/2009 17:53
Avatar van willie 0 Oke, ik ben nu zover,
Via dit gedeelte wordt ik door gestuurd.
  1. <?php
  2.  
  3.  
  4. include('dbc.php');
  5.  
  6.  
  7. $id = $_GET['id'];
  8.  
  9. ?>
  10. <?php
  11. $sql= mysql_query("SELECT * FROM a_gebruikers WHERE email = '".$email."' ") or die(mysql_error());
  12. while($res = mysql_fetch_assoc($sql))
  13. {
  14.  
  15. if($res['gebruiker_id'] == '0') {
  16. echo "<META HTTP-EQUIV='refresh'content='0;URL=../admin/index.php?id=$res[gebruiker_id]'>";
  17. }
  18. else {
  19.  
  20. }
  21.  
  22. ?>

Dit gedeelte werkt dus goed, maar dan komt hij op admin/index pagina.
Die ziet er zo uit
  1. <?php
  2.  
  3.  
  4. include('../dbc.php');
  5.  
  6.  
  7. $id = $_GET['id'];
  8.  
  9. ?>
  10. <?php
  11.  
  12. if($_SESSION['id'] == 0){
  13.  
  14. echo '<a href=zm/a.php>alles met een A</a>';
  15.  
  16. }
  17. if($_SESSION['id'] == 1){u mag hier niet komen}
  18.  
  19. ?>

maar hier gaat het dus fout.
Ik krijg hier een http500 fout melding.
wat gaat er hier fout
Offline willie - 25/03/2009 18:01
Avatar van willie 0 Als deze boven in staat, krijg ik nog steeds die http fout500 melding
Offline willie - 25/03/2009 19:17 (laatste wijziging 25/03/2009 19:37)
Avatar van willie 0 Ja, stom van mij.
In zijn geheel niet gezien.
Bedankt, maar nog even een ander vraagje, wat hier mee heeft te maken.
Als ik de site naam ingeeft +/admin/index.php,
krijg ik gewoon (bla bla) te zien.
inplaats van (u mag hier niet komen)
Maar als ik de sitenaam+/admin/index.php?id=1 dan zie ik het wel(u mag hier niet komen)
  1. <?php
  2.  
  3.  
  4. include('../dbc.php');
  5.  
  6. $id = $_GET['id'];
  7.  
  8. if($_SESSION['id'] == 0){
  9.  
  10. echo "bla bla";
  11.  
  12. }
  13. elseif($_SESSION['id'] == 1){
  14. echo "u mag hier niet komen";
  15. }
  16.  
  17. ?>
Offline Martijn - 25/03/2009 20:18
Avatar van Martijn Crew PHP dat ob_start() is helemaal niet nodig?
Offline willie - 25/03/2009 21:09
Avatar van willie 0 Ik kan nog steeds die pagina benaderen.
Hoe kan ik nu zorgen dat dat niet meer kan.
Offline genkstar - 25/03/2009 21:47 (laatste wijziging 25/03/2009 21:48)
Avatar van genkstar Nieuw lid probeer eens

  1. if(!isset($_SESSION)){
  2. echo("U mag hier niet komen");
  3. die();
  4. }
Offline willie - 25/03/2009 22:14
Avatar van willie 0 Ik heb het nu zo gedaan,
  1. <?php
  2.  
  3.  
  4. include('../dbc.php');
  5.  
  6. $id = $_GET['id'];
  7.  
  8. if($_SESSION['id'] == 4){
  9.  
  10. echo "bla bla";
  11.  
  12. }
  13. if($_SESSION['id'] == 0){
  14. echo "u mag hier niet komen";
  15. }
  16.  
  17. ?>
en even mijn id 4 gemaakt inn de db.
als ik nu de sitenaam+/admin/index.php invuld, krijg ik te zien "u mag hier niet komen", als ik er dit achterzet ?id=(bvb)6 krijg je de zelfde melding.
Maar als ik mijn id er achterzet, zie ik dit "bla bla".
Dus zo werkt het wel.
Maar is dit wel veilig?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.206s