Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Znak @ przed nazwą zmiennej, Co ona tak naprawdę znaczy i jakie jest jej działanie.
elan
post 30.09.2009, 16:56:48
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.09.2009

Ostrzeżenie: (0%)
-----


Pytanie zapewne laickie ale dopiero zaczynam przygodę z PHP i MySql. Spotkałem się niedawno z kodem w którym był znak małpy przed nazwą zmiennej np.
i nie bardzo wiem co ona tak naprawdę oznacza. Doszły do mnie słuchy, że zabezpiecza ona działanie przed wyświetlaniem eewentualnch błędów na stronie w celu bezpieczeństwa. I tak do tamtej pory myślałem, ale w poniższym kodzie działanie skryptu było zatrzymane właśnie wtedy kiedy ta małpa była przed nazwą zmiennej, kiedy ją usunąłem skrypt się wykonał.

  1. <?php
  2.  
  3. // Connection details
  4.  
  5.  
  6. $mysql_user = "logme_nowe";
  7.  
  8. $mysql_password = "test";
  9.  
  10. $mysql_server = "localhost";
  11.  
  12. $mysql_db = "logme_nowa";
  13.  
  14.  
  15. // Connection
  16.  
  17. $global_dbh = mysql_connect($mysql_server, $mysql_user, $mysql_password) or die ('Could not connect!' . mysql_error());
  18.  
  19. echo 'Connected!';
  20.  
  21. mysql_select_db($mysql_db) or die ('Could not find your Database!' . mysql_error());
  22.  
  23. echo 'Database is right!';
  24.  
  25.  
  26. // Query
  27.  
  28. function display_db_table ($tablename, $connection) {
  29.  
  30. $query_string = "SELECT * FROM $tablename";
  31.  
  32. $result_id = mysql_query($query_string, $connection);
  33.  
  34. $column_count = mysql_num_fields($result_id);
  35.  
  36. print ("<TABLE BORDER=1>\n");
  37.  
  38. while ($row = mysql_fetch_row($result_id)) {
  39.  
  40. print ("<TR ALIGN=LEFT VALIGN=TOP>");
  41.  
  42. for ($column_num = 0;
  43. $column_num < $column_count;
  44. $column_num++)
  45.  
  46. print ("<TD>$row[$column_num]</TD>\n");
  47. print ("</TR>\n");
  48.  
  49. }
  50.  
  51. print ("</TABLE>\n");
  52.  
  53. }
  54.  
  55. ?>
  56.  
  57. <HTML>
  58. <HEAD>
  59. </HEAD>
  60. <BODY>
  61.  
  62. <TABLE><TR><TD>
  63.  
  64. <?php display_db_table("country" , $global_dbh); ?>
  65.  
  66. </TD><TD>
  67.  
  68. <?php display_db_table("city" , $global_dbh); ?>
  69.  
  70. </TD></TR></TABLE>
  71.  
  72. </BODY>
  73. </HTML>
Go to the top of the page
+Quote Post
bartg
post 30.09.2009, 16:59:03
Post #2





Grupa: Zarejestrowani
Postów: 225
Pomógł: 25
Dołączył: 4.07.2007
Skąd: Berlin

Ostrzeżenie: (0%)
-----


@ powoduje wyłączenie wyświetlania błędów. I jest to przed nazwą funkcji a nie zmiennej


--------------------
Go to the top of the page
+Quote Post
elan
post 30.09.2009, 17:08:09
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.09.2009

Ostrzeżenie: (0%)
-----


Czy warto stosować @ w kodzie ? Czy ona naprawdę zwiększa bezpieczeństwo?
Go to the top of the page
+Quote Post
wookieb
post 30.09.2009, 17:16:33
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




A kto powiedzial o zwiekszaniu bezpieczenstwa? Jak puszczasz skrypt publicznie to wylaczasz na serwerze wyswietlanie bledow. @ uzywasz wtedy kiedy obsluge bledow chcesz zaimplementować sam w pozniejszym etapie kodu.


--------------------
Go to the top of the page
+Quote Post
bartg
post 30.09.2009, 17:20:46
Post #5





Grupa: Zarejestrowani
Postów: 225
Pomógł: 25
Dołączył: 4.07.2007
Skąd: Berlin

Ostrzeżenie: (0%)
-----


Osobiscie uzwam @ do bledow mysql. gdy bedzie blad sam go sobie zapisze do loga. Po co ma publika widziec błedy, a tym samym czasami luki?


--------------------
Go to the top of the page
+Quote Post
erix
post 30.09.2009, 17:22:09
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Publika nie będzie wiedziała, jeśli stworzysz swojego handlera.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2024 - 21:27