<?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>Απ: Stored procedure (out of order)!</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35901.aspx</link><pubDate>Sat, 06 Oct 2007 16:59:00 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35901</guid><dc:creator>Παπαδημητρίου Γεώργιος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35901.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=35901</wfw:commentRss><description>&lt;P&gt;Ενα μέγαλο ευχαριστώ!&lt;/P&gt;
&lt;P&gt;Ενα μεγαλο μπραβο σε αυτην την κοινότητα.&lt;/P&gt;</description></item><item><title>Απ: Stored procedure (out of order)!</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35030.aspx</link><pubDate>Sun, 16 Sep 2007 18:46:11 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35030</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35030.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=35030</wfw:commentRss><description>&lt;p&gt;Καταρχήν, κάτι που δεν έχει να κάνει με την εκτέλεση της sp. Η παρακάτω γραμμή μπορεί να δημιουργήσει θέματα ασφάλειας:&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;font size="2"&gt; myCmd &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;font size="2"&gt; SqlCommand(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;"SELECT * FROM Coupon WHERE AA =('"&lt;/font&gt;&lt;font size="2"&gt; &amp;amp; AA &amp;amp; &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;"')"&lt;/font&gt;&lt;font size="2"&gt;, myConn)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;Βλέπω ότι την τιμή ΑΑ την παίρνεις από μια session variable. Δεν ξέρω πως την βάζεις εκεί, αλλά αν προέρχεται από τον τελικό χρήστη τότε μπορεί να πέσεις θύμα sql injection.&lt;br&gt;Π.χ. αν AA="5');DELETE FROM Coupon" θα διαγραφεί όλος ο πίνακας Coupon. Ψάξε για sql injection σε αυτό το site και θα δεις ότι η σωστή εκτέλεση γίνεται με parameters στο sql command.&lt;/p&gt;&lt;p&gt;Κατά τα άλλα εκτελείς την procedure με ExecuteNonQuery. Αυτό εξ ορισμού δεν επιστρέφει αποτελέσματα. Πρέπει να την εκτελέσεις με ExecuteReader ή να βάλεις την SqlCommand σε έναν SqlDataAdapter και να εκτλέσεις την Fill του data adapter για να γεμίσεις ένα dataset. π.χ.&lt;br&gt;&lt;/p&gt;&lt;p&gt;myAdapter.SelectCommand = myCmd;&lt;br&gt;myAdapter.Fill(myDataSet); &lt;br&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Stored procedure (out of order)!</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35028.aspx</link><pubDate>Sun, 16 Sep 2007 16:05:28 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35028</guid><dc:creator>Παπαδημητρίου Γεώργιος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35028.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=35028</wfw:commentRss><description>&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;Καλημέρα σε όλους,&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;καταρχήν δεν μπαίνω στην αντιπαράθεση stored procedure vs ... &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;απλά η συγκεκριμένη και όχι μόνο stored procedure δεν επιστρέφει αποτελέσματα απο τη βάση δεδομένων. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;Από την άλλη εαν εκτελέσω κατ' ευθειαν την&amp;nbsp;procedure&amp;nbsp;δινοντας τις παραμέτρους&amp;nbsp;manual και όχι μεσα απο τη vb.net τοτε δεν υπάρχει κανενα προβλημα.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;Εαν μπορουσατε να μου υποδειξετε τι ακριβως κανω λάθος θα σας ημουν ιδιαιτερως ευγνωμων!&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;Ευχαριστώ εκ των προτερων.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;########################STORED PROCEDURE PART###########################&lt;/P&gt;
&lt;P&gt;ALTER PROCEDURE &lt;/FONT&gt;&lt;FONT size=2&gt;gipapbase.GF&lt;/P&gt;
&lt;P&gt;(&lt;/P&gt;
&lt;P&gt;@Gipedouxos &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;nvarchar&lt;/FONT&gt;&lt;FONT size=2&gt;(50),&lt;/P&gt;
&lt;P&gt;@Filoksenoumeni &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;nvarchar&lt;/FONT&gt;&lt;FONT size=2&gt;(50)&lt;/P&gt;
&lt;P&gt;)&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;AS&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;/* SET NOCOUNT ON */&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SELECT &lt;/FONT&gt;&lt;FONT size=2&gt;Diorganosi, Assos, Gipedouxos, Xi, Filoksenoumeni, Diplo, AkrivesSkor, Teliko, Hmerominia&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM &lt;/FONT&gt;&lt;FONT size=2&gt;dbo.MainDB&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE &lt;/FONT&gt;&lt;FONT size=2&gt;(Gipedouxos = @Gipedouxos) &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;AND &lt;/FONT&gt;&lt;FONT size=2&gt;(Filoksenoumeni = @Filoksenoumeni)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;RETURN&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=2&gt;##################VB.NET PART####################################&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;Dim&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; Diorganosi, AA, Gipedouxos, Filoksenoumeni, Assos, Xi, Diplo &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;String&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Dim&lt;/FONT&gt;&lt;FONT size=2&gt; i &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Integer&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;If&lt;/FONT&gt;&lt;FONT size=2&gt; Session(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"AA"&lt;/FONT&gt;&lt;FONT size=2&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Is&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Nothing&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Then&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Exit&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;AA = Session(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"AA"&lt;/FONT&gt;&lt;FONT size=2&gt;).ToString&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Dim&lt;/FONT&gt;&lt;FONT size=2&gt; myConStr &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;String&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;myConStr = ConfigurationManager.ConnectionStrings(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"Conn"&lt;/FONT&gt;&lt;FONT size=2&gt;).ConnectionString&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Dim&lt;/FONT&gt;&lt;FONT size=2&gt; myConn &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;New&lt;/FONT&gt;&lt;FONT size=2&gt; SqlConnection(myConStr)&lt;/P&gt;
&lt;P&gt;myConn = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;New&lt;/FONT&gt;&lt;FONT size=2&gt; SqlConnection(myConStr)&lt;/P&gt;
&lt;P&gt;myConn.Open()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Dim&lt;/FONT&gt;&lt;FONT size=2&gt; myCmd &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;New&lt;/FONT&gt;&lt;FONT size=2&gt; SqlCommand(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"SELECT * FROM Coupon WHERE AA =('"&lt;/FONT&gt;&lt;FONT size=2&gt; &amp;amp; AA &amp;amp; &lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"')"&lt;/FONT&gt;&lt;FONT size=2&gt;, myConn)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;dsh.Clear()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Dim&lt;/FONT&gt;&lt;FONT size=2&gt; da &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;New&lt;/FONT&gt;&lt;FONT size=2&gt; SqlDataAdapter&lt;/P&gt;
&lt;P&gt;da.SelectCommand = myCmd&lt;/P&gt;
&lt;P&gt;da.Fill(dsh)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Dim&lt;/FONT&gt;&lt;FONT size=2&gt; mainTable &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;New&lt;/FONT&gt;&lt;FONT size=2&gt; Data.DataTable(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"Table"&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;/P&gt;
&lt;P&gt;da.Fill(mainTable)&lt;/P&gt;
&lt;P&gt;dv.Table = dsh.Tables(0)&lt;/P&gt;
&lt;P&gt;Diorganosi = dv.Item(i)(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"Diorganosi"&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;/P&gt;
&lt;P&gt;Assos = dv.Item(i)(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"Assos"&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;/P&gt;
&lt;P&gt;Gipedouxos = dv.Item(i)(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"Gipedouxos"&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;/P&gt;
&lt;P&gt;Xi = dv.Item(i)(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"Xi"&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;/P&gt;
&lt;P&gt;Filoksenoumeni = dv.Item(i)(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"Filoksenoumeni"&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;/P&gt;
&lt;P&gt;Diplo = dv.Item(i)(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"Diplo"&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;myCmd.CommandType = Data.CommandType.StoredProcedure&lt;/P&gt;
&lt;P&gt;myCmd.CommandText = &lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"GF"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;With&lt;/FONT&gt;&lt;FONT size=2&gt; myCmd.Parameters&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT color=#008000 size=2&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.Add(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"@Gipedouxos"&lt;/FONT&gt;&lt;FONT size=2&gt;, Data.SqlDbType.NVarChar).Value = Gipedouxos&lt;/P&gt;
&lt;P&gt;.Add(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"@Filoksenoumeni"&lt;/FONT&gt;&lt;FONT size=2&gt;, Data.SqlDbType.NVarChar).Value = Filoksenoumeni&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;End&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;With&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;myCmd.ExecuteNonQuery()&lt;/P&gt;
&lt;P&gt;myConn.Close()&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;</description></item></channel></rss>