<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Πρώτα Βήματα - Web Development</title><link>https://www.dotnetzone.gr:443/cs/forums/75/ShowForum.aspx</link><description>Ολα τα θέματα που σας απασχολούν σχετικά με ASP, ASP.NET αν τώρα επιχειρείτε να φτιάξετε την πρώτη σας σελίδα.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: editing web.config file</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46700.aspx</link><pubDate>Thu, 04 Dec 2008 23:04:58 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46700</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46700.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=46700</wfw:commentRss><description>&lt;P&gt;Θα πρέπει να προσέξεις πολύ το θέμα του dynamic SQL, ειδικά αν ο κώδικας που γράφεις αφορά πραγματικά τράπεζα ή οποιαδήποτε μεγάλη εταιρεία. Ένας κακόβουλος web admin θα μπορούσε να πάει στο web.config σου και να αντικαταστήσει π.χ. το "AccountsTable" με "AccountsTable; delete from AccountsTable" και έτσι να σβήσει όλες τις εγγραφές την πρώτη φορά που θα εκτελεστεί το select σου. Αυτό είναι καααακό, ειδικά για τράπεζα!&lt;/P&gt;
&lt;P&gt;Και επειδή μπορεί να πει κανείς ότι "αν ο admin το κάνει αυτό, έχεις χάσει έτσι κι αλλιώς", να παρατηρήσω ότι συνήθως στις τράπεζες άλλοι είναι υπεύθυνοι για τους web servers, άλλοι για τις βάσεις και άλλοι για τις εφαρμογές. Οι web admins δεν έχουν πρόσβαση στις βάσεις και οι application administrators δεν έχουν πρόσβαση στους web servers και τους database servers. Οι εφαρμογές τέλος επικοινωνούν με τις βάσεις μέσω συγκεκριμένων account με περιορισμένα δικαιώματα. Χρησιμοποιώντας όμως string concatenation και παραμέτρους χωρίς έλεγχο από το web.config, έδωσες ουσιαστικά πρόσβαση στα δεδομένα της εφαρμογής στους web admins. &lt;/P&gt;
&lt;P&gt;Άλλο πιθανό πρόβλημα ασφάλειας δημιουργείται αν χρησιμοποιείς το Windows User name, καθώς δεν προσδιορίζει απόλυτα ένα account. Ένας κακόβουλος user admin μπορεί να διαγράψει ένα χρήστη, να τον ξαναδημιουργήσει με το ίδιο όνομα και έτσι να αποκτήσει πρόσβαση σε μία εφαρμογή στην οποία κανονικά δεν είχε δικαίωμα. Αντί για το username μπορείς να χρησιμοποιήσεις το WindowsIdentity.User property, το οποίο είναι το μοναδικό Security Identifier ενός Windows User. Ακόμα και αν δημιουργήσει κάποιος ένα χρήστη με το ίδιο όνομα, το SID θα είναι διαφορετικό. &lt;/P&gt;</description></item><item><title>Απ: editing web.config file</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46699.aspx</link><pubDate>Thu, 04 Dec 2008 22:40:38 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46699</guid><dc:creator>labroutsaki</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46699.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=46699</wfw:commentRss><description>&lt;P&gt;Κι όμως έφταιγε το κενό που δεν υπήρχε πριν το WHERE... Θα κοιτάξω αυτό που μου είπες για τη settings, απλά είμαι λίγο αρχάρια στη γλώσσα κ γενικά στο πρόγραμμα κ κάποια πράγματα δεν τα ξέρω καθόλου&lt;/P&gt;
&lt;P&gt;Ευχαριστώ πολύ!&lt;/P&gt;</description></item><item><title>Απ: editing web.config file</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46696.aspx</link><pubDate>Thu, 04 Dec 2008 22:26:27 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46696</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46696.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=46696</wfw:commentRss><description>&lt;P&gt;Επίσης, γιατί δεν χρησιμοποιείς την κλάση Settings για να πάρεις με τη μία τα settings σου?&lt;/P&gt;
&lt;P&gt;Υ.Γ. Το ότι είναι κακό να χρησιμοποιεί κανείς dynamic SQL, ακόμα χειρότερο να περνά παραμέτρους με string concatenation αντί parameterized queries, θεωρώ ότι δεν χρειάζεται να το πούμε πάλι. Το ότι μπορεί να οδηγήσει σε προβλήματα όπως το κολλημένο WHERE είναι η πιο αθώα έκφραση του.&lt;/P&gt;</description></item><item><title>Απ: editing web.config file</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46694.aspx</link><pubDate>Thu, 04 Dec 2008 22:21:30 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46694</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46694.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=46694</wfw:commentRss><description>Καταρχήν μήπως φταίει οτι όταν συνθέτεις το string δεν αφήνεις κενό ανάμεσα στο όνομα του πίνακα και στο WHERE;&lt;br /&gt;&lt;br /&gt; +AccBalancesTableName+ "Where &lt;br /&gt;&lt;br /&gt;Θα πρέπει να γίνει&lt;br /&gt;&lt;br /&gt; +AccBalancesTableName+ " Where &lt;br /&gt;&lt;br /&gt;(με κενό πριν το W)&lt;br /&gt;&lt;br /&gt;για να είναι valid το command.&lt;br /&gt;&lt;br /&gt;</description></item><item><title>editing web.config file</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46693.aspx</link><pubDate>Thu, 04 Dec 2008 22:09:29 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46693</guid><dc:creator>labroutsaki</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46693.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=46693</wfw:commentRss><description>&lt;P&gt;Καλησπέρα, έχω ορίσει στο web.config file που έχω φτιάξει&amp;nbsp;να παίρνει ως παραμέτρους το connection string&amp;nbsp;του table της βάσης μου και το όνομα του table. όταν όμως πάω να κάνω τις αλλαγές στο cs μου βγάζει error στον κώδικα παρακάτω στο linking. Μπορεί κανείς να βοηθήσει?&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt; AccBalancesTableName = (&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;ConfigurationManager&lt;/FONT&gt;&lt;FONT size=2&gt;.AppSettings[&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"AccBalancesTableName"&lt;/FONT&gt;&lt;FONT size=2&gt;];&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;DataSet&lt;/FONT&gt;&lt;FONT size=2&gt; ds = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;DataSet&lt;/FONT&gt;&lt;FONT size=2&gt;(); &lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SqlCommand&lt;/FONT&gt;&lt;FONT size=2&gt; cm = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SqlCommand&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"Select Account_Number From "&lt;/FONT&gt;&lt;FONT size=2&gt; +AccBalancesTableName, con);&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SqlDataAdapter&lt;/FONT&gt;&lt;FONT size=2&gt; adapter = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SqlDataAdapter&lt;/FONT&gt;&lt;FONT size=2&gt;(); &lt;/P&gt;
&lt;P&gt;adapter.SelectCommand = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SqlCommand&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"Select Account_Number From "&lt;/FONT&gt;&lt;FONT size=2&gt; +AccBalancesTableName+ &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"Where UserName='"&lt;/FONT&gt;&lt;FONT size=2&gt; + &lt;/P&gt;
&lt;P&gt;Request.LogonUserIdentity.Name + &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"'"&lt;/FONT&gt;&lt;FONT size=2&gt;, con);&lt;/P&gt;
&lt;P&gt;adapter.Fill(ds, &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;""&lt;/FONT&gt;&lt;FONT size=2&gt;+AccBalancesTableName);&amp;nbsp; &lt;FONT color=#ff0000&gt;&lt;STRONG&gt;&lt;U&gt;&amp;lt;==EDW VGAZEI ERROR ENW KANEI KANONIKA COMPILE&lt;/U&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;GridView1.DataSource = ds.Tables[0].DefaultView;&lt;/P&gt;
&lt;P&gt;GridView1.DataBind();&lt;/P&gt;&lt;/FONT&gt;</description></item></channel></rss>